[Bug lto/52400] [4.6/4.7 Regression] lto1: ICE with extern on static linkage
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Feb 27 14:51:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52400
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |ASSIGNED
CC| |hubicka at gcc dot gnu.org,
| |rguenth at gcc dot gnu.org
Known to work| |4.5.3
AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org
|gnu.org |
Target Milestone|--- |4.6.4
Summary|lto1: ICE with extern on |[4.6/4.7 Regression] lto1:
|static linkage |ICE with extern on static
| |linkage
Known to fail| |4.6.2, 4.7.0
--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-02-27 14:50:37 UTC ---
Confirmed. We do not handle having multiple functions with the same name
(but pulled in into different contexts) well. I suppose the particular
error can be fixed by
Index: gcc/lto/lto.c
===================================================================
--- gcc/lto/lto.c (revision 184591)
+++ gcc/lto/lto.c (working copy)
@@ -689,13 +689,6 @@ lto_register_function_decl_in_symtab (st
lto_record_renamed_decl (data_in->file_data,
IDENTIFIER_POINTER (old_assembler_name),
IDENTIFIER_POINTER (new_assembler_name));
-
- /* Also register the reverse mapping so that we can find the
- new name given to an existing assembler name (used when
- restoring alias pairs in input_constructors_or_inits. */
- lto_record_renamed_decl (data_in->file_data,
- IDENTIFIER_POINTER (new_assembler_name),
- IDENTIFIER_POINTER (old_assembler_name));
}
}
as the reverse mapping should be unused now with the alias-pair rewrite.
Honza?
More information about the Gcc-bugs
mailing list