(duplicate_decls): Always warn when const declaration follows

non-const one for variables.

From-SVN: r7076
This commit is contained in:
Richard Kenner 1994-04-18 17:56:01 -04:00
parent 0aaf6c85d2
commit 2af6a433d9
1 changed files with 7 additions and 1 deletions

View File

@ -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");