http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49796

Martin Jambor <jamborm at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org

--- Comment #3 from Martin Jambor <jamborm at gcc dot gnu.org> 2011-07-21 
12:22:33 UTC ---
verify_edge_corresponds_to_fndecl fails.  The reason is that
e->callee->former_clone_of is NULL.  Since e->callee is
_ZN10xalanc_1_814XalanDOMStringC2EPKtj.constprop.15198, that is
clearly incorrect.

Moreover, the node corresponding to decl, which is "__comp_ctor," does
not have an alias flag set.  I think that the name implies it should
be set too.  gimple_has_body returns false for it and, perhaps most
importantly, it's analyzed flag and analyzed flag of
e->callee->analyzed are cleared too.

This is all in ltrans stage of LTO.  I assume the flags are weird here
because the cloned function, its original and its alias end up in a
different partition.  I have tried building with -flto-partition=none
and it succeeded which supports this theory.

Perhaps we just should not do this check for !analyzed nodes?  Or
should we try to stream this info into different partitions too?
Honza?

Reply via email to