OSDN Git Service

PR middle-end/43125
authormrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 20 Feb 2010 17:28:14 +0000 (17:28 +0000)
committermrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 20 Feb 2010 17:28:14 +0000 (17:28 +0000)
* c-decl.c (merge_decls): Merge DECL_PRESERVE_P.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156927 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-decl.c

index 4ab4c0d..aa2d0fa 100644 (file)
@@ -37,6 +37,9 @@
 
 2010-02-19  Mike Stump  <mikestump@comcast.net>
 
+       PR middle-end/43125
+       * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
+
        PR objc/43061
        * cgraphunit.c (process_function_and_variable_attributes): Check
        DECL_PRESERVE_P instead of looking up attribute "used".
index e48cdc8..e8e7a45 100644 (file)
@@ -2387,6 +2387,10 @@ merge_decls (tree newdecl, tree olddecl, tree newtype, tree oldtype)
     TREE_USED (newdecl) = 1;
   else if (TREE_USED (newdecl))
     TREE_USED (olddecl) = 1;
+  if (DECL_PRESERVE_P (olddecl))
+    DECL_PRESERVE_P (newdecl) = 1;
+  else if (DECL_PRESERVE_P (newdecl))
+    DECL_PRESERVE_P (olddecl) = 1;
 
   /* Copy most of the decl-specific fields of NEWDECL into OLDDECL.
      But preserve OLDDECL's DECL_UID, DECL_CONTEXT and