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?