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

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-02-10 
11:27:39 UTC ---
What happens is that cgraph_materialize_clone on the _ZN1BIcEC2E1Ai.constprop.1
clone performs:
2451  if (!node->clone_of->analyzed && !node->clone_of->clones)
2452    {
2453      cgraph_release_function_body (node->clone_of);
2454      cgraph_node_remove_callees (node->clone_of);
2455      ipa_remove_all_references (&node->clone_of->ref_list);
2456    }
2457  node->clone_of = NULL;
where node->clone_of is _ZN1BIcEC2E1Ai, i.e. the __base_ctor and so the
verification fails.
Even before this cgraph_remove_unreachable_nodes marks the _ZN1BIcEC1E1Ai (i.e.
__comp_ctor to which the call_stmts still refer) as unreachable and calls
ipa_remove_all_references on it, which means I don't see a way how we could get
from the _ZN1BIcEC2E1Ai to _ZN1BIcEC1E1Ai node anymore.

Honza?

Reply via email to