This is the mail archive of the
mailing list for the GCC project.
Re: lto1: internal compiler error: in lto_symtab_merge_decls_1, at lto-symtab.c:549
Richard Guenther wrote:
On Sat, Apr 24, 2010 at 3:28 PM, Toon Moene <firstname.lastname@example.org> wrote:
525 /* Helper to process the decl chain for the symbol table entry *SLOT.
527 static int
528 lto_symtab_merge_decls_1 (void **slot, void *data ATTRIBUTE_UNUSED)
545 /* Assert it's the only one. */
546 if (prevailing)
547 for (e = prevailing->next; e; e = e->next)
548 gcc_assert (e->resolution != LDPR_PREVAILING_DEF_IRONLY
549 && e->resolution != LDPR_PREVAILING_DEF);
Of course, I'd like to make a test case out of this - but what is this
assert checking ?
It is checking that for one symbol we only have one definition.
You are using -fuse-linker-plugin?
Indeed, I do (all of our code ends up in libraries - .a files - so I
have to, to make -flto -fwhole-program be meaningful).
Is it a problem with COMMON ? Those typically have umpteen definitions,
which all have to match ...
Thanks in advance,
Toon Moene - e-mail: email@example.com - phone: +31 346 214290
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
At home: http://moene.org/~toon/; weather: http://moene.org/~hirlam/
Progress of GNU Fortran: http://gcc.gnu.org/gcc-4.5/changes.html#Fortran