Hi, I managed to commit a hack setting offset to 0 in ipa_polymorphic_call_context::set_by_invariant. This makes it to give up on multiple inheritance, but most likely won't give bad code since the ohter base will be of different type.
Bootstrapped/regtested x86_64-linux, comitted. gcc/ChangeLog: * ipa-polymorphic-call.cc (ipa_polymorphic_call_context::set_by_invariant): Remove accidental hack reseting offset. diff --git a/gcc/ipa-polymorphic-call.cc b/gcc/ipa-polymorphic-call.cc index 8667059abee..81de6d7fc33 100644 --- a/gcc/ipa-polymorphic-call.cc +++ b/gcc/ipa-polymorphic-call.cc @@ -766,7 +766,6 @@ ipa_polymorphic_call_context::set_by_invariant (tree cst, tree base; invalid = false; - off = 0; clear_outer_type (otr_type); if (TREE_CODE (cst) != ADDR_EXPR)