From: Richard Stallman Date: Tue, 7 Jul 1992 01:47:54 +0000 (+0000) Subject: (duplicate_decls): Merge DECL_IN_SYSTEM_HEADER between duplicate decls. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e2f6a3cfee9db7a6e8a451ff53d099750b7b64bf;p=gcc.git (duplicate_decls): Merge DECL_IN_SYSTEM_HEADER between duplicate decls. From-SVN: r1492 --- diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 4f004716280..34c4e1050e4 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -1449,7 +1449,11 @@ duplicate_decls (newdecl, olddecl) if (TREE_READONLY (newdecl)) TREE_READONLY (olddecl) = 1; if (TREE_THIS_VOLATILE (newdecl)) - TREE_THIS_VOLATILE (olddecl) = 1; + { + TREE_THIS_VOLATILE (olddecl) = 1; + if (TREE_CODE (newdecl) == VAR_DECL) + make_var_volatile (newdecl); + } /* Keep source location of definition rather than declaration. */ if (DECL_INITIAL (newdecl) == 0 && DECL_INITIAL (olddecl) != 0) @@ -1458,14 +1462,18 @@ duplicate_decls (newdecl, olddecl) DECL_SOURCE_FILE (newdecl) = DECL_SOURCE_FILE (olddecl); } + /* Merge the unused-warning information. */ + if (DECL_IN_SYSTEM_HEADER (olddecl)) + DECL_IN_SYSTEM_HEADER (newdecl) = 1; + else if (DECL_IN_SYSTEM_HEADER (newdecl)) + DECL_IN_SYSTEM_HEADER (olddecl) = 1; + /* Merge the initialization information. */ if (DECL_INITIAL (newdecl) == 0) DECL_INITIAL (newdecl) = DECL_INITIAL (olddecl); + /* Keep the old rtl since we can safely use it. */ DECL_RTL (newdecl) = DECL_RTL (olddecl); - if (TREE_CODE (newdecl) == VAR_DECL - && TREE_THIS_VOLATILE (newdecl)) - make_var_volatile (newdecl); } /* If cannot merge, then use the new type and qualifiers, and don't preserve the old rtl. */