OSDN Git Service

2012-06-04 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Jun 2012 13:24:24 +0000 (13:24 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Jun 2012 13:24:24 +0000 (13:24 +0000)
PR middle-end/53471
* dwarf2out.c (dwarf2out_finish): If generating LTO do not
create new assembler names.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@188182 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/dwarf2out.c

index f14d662..3f66333 100644 (file)
@@ -1,5 +1,11 @@
 2012-06-04  Richard Guenther  <rguenther@suse.de>
 
+       PR middle-end/53471
+       * dwarf2out.c (dwarf2out_finish): If generating LTO do not
+       create new assembler names.
+
+2012-06-04  Richard Guenther  <rguenther@suse.de>
+
        Backport from mainline
        2012-04-25  Jakub Jelinek  <jakub@redhat.com>
  
index 8e80f93..79e7adf 100644 (file)
@@ -22582,7 +22582,11 @@ dwarf2out_finish (const char *filename)
   for (node = deferred_asm_name; node; node = node->next)
     {
       tree decl = node->created_for;
-      if (DECL_ASSEMBLER_NAME (decl) != DECL_NAME (decl))
+      /* When generating LTO bytecode we can not generate new assembler
+         names at this point and all important decls got theirs via
+        free-lang-data.  */
+      if ((!flag_generate_lto || DECL_ASSEMBLER_NAME_SET_P (decl))
+         && DECL_ASSEMBLER_NAME (decl) != DECL_NAME (decl))
        {
          add_linkage_attr (node->die, decl);
          move_linkage_attr (node->die);