2012-06-04 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Jun 2012 13:19:17 +0000 (13:19 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Jun 2012 13:19:17 +0000 (13:19 +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/trunk@188181 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/dwarf2out.c

index 7722dd5..f53bdb6 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>
+
        * tree-data-ref.c (struct rdg_vertex_info): Remove.
        (rdg_vertex_for_stmt): Simplify using gimple_uid.
        (create_rdg_vertices): Pass loop argument, remove stmt to RDG index
index babc5ba..c1492b0 100644 (file)
@@ -22158,7 +22158,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);