From 2af6a433d9630f5fc167411d9898f456cb5ef288 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 18 Apr 1994 17:56:01 -0400 Subject: [PATCH] (duplicate_decls): Always warn when const declaration follows non-const one for variables. From-SVN: r7076 --- gcc/c-decl.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/c-decl.c b/gcc/c-decl.c index a7cd30ee4b1..8aa0859b8e1 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -1593,10 +1593,16 @@ duplicate_decls (newdecl, olddecl) && !TREE_PUBLIC (newdecl)) warning_with_decl (newdecl, "static declaration for `%s' follows non-static"); + /* Warn when const declaration follows a non-const + declaration, but not for functions. */ + if (TREE_CODE (olddecl) != FUNCTION_DECL + && !TREE_READONLY (olddecl) + && TREE_READONLY (newdecl)) + warning_with_decl (newdecl, "const declaration for `%s' follows non-const"); /* These bits are logically part of the type, for variables. But not for functions (where qualifiers are not valid ANSI anyway). */ - if (pedantic && TREE_CODE (olddecl) != FUNCTION_DECL + else if (pedantic && TREE_CODE (olddecl) != FUNCTION_DECL && (TREE_READONLY (newdecl) != TREE_READONLY (olddecl) || TREE_THIS_VOLATILE (newdecl) != TREE_THIS_VOLATILE (olddecl))) pedwarn_with_decl (newdecl, "type qualifiers for `%s' conflict with previous decl"); -- 2.30.2