diff options
Diffstat (limited to 'gcc/ipa-cp.c')
-rw-r--r-- | gcc/ipa-cp.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 44f16bf..90fd3c2 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -1975,8 +1975,13 @@ ipa_get_indirect_edge_target_1 (struct cgraph_edge *ie, } } else if (t) - context = ipa_polymorphic_call_context (t, ie->indirect_info->otr_type, - anc_offset); + { + context = ipa_polymorphic_call_context (t, ie->indirect_info->otr_type, + anc_offset); + if (ie->indirect_info->vptr_changed) + context.possible_dynamic_type_change (ie->in_polymorphic_cdtor, + ie->indirect_info->otr_type); + } else return NULL_TREE; |