This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug lto/60449] Merging function DECLs discards leaf attribute which causes cfg verifier to fail
- From: "hubicka at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 02 Apr 2014 16:29:51 +0000
- Subject: [Bug lto/60449] Merging function DECLs discards leaf attribute which causes cfg verifier to fail
- Auto-submitted: auto-generated
- References: <bug-60449-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60449
--- Comment #11 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
> OTOH, why do we have to merge the decls/cgraph nodes at all? Can't we simply
> make them aliases if tree merging decides the decls are not equal?
If we do so, we would never merge external declaration from one unit with
definition from other, so everything would go through aliases effectively
doubling the symtab.
Also aliases currently ar different symbols, not different tree representation
of the same symbol, so one would need to rename the declaration and make it to
bubble all the way into the assembler file.
We can resort to not merging in selected cases, but I would prefer to do that
only when we have very good reason why we want to do so.