re PR lto/53471 (ICE in pp_base_format, at pretty-print.c:510 (-flto -g))
authorRichard Guenther <rguenther@suse.de>
Mon, 4 Jun 2012 13:19:17 +0000 (13:19 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 4 Jun 2012 13:19:17 +0000 (13:19 +0000)
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.

From-SVN: r188181

gcc/ChangeLog
gcc/dwarf2out.c

index 7722dd587e7ca2db2be7b70cddd24cb9fd760568..f53bdb641bedaa5969a5bf7c1e67fe6b5ef15825 100644 (file)
@@ -1,3 +1,9 @@
+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.
index babc5ba51f312db58a115620de5c3a4f5731a357..c1492b0f0efb6a5dab6b40e0aff5512bae47de71 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);