From: Martin Liska Date: Thu, 16 Jul 2015 14:48:18 +0000 (+0200) Subject: re PR ipa/66896 (ipa-prop.c:2479 runtime error: member call on null pointer of type... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a7d1f3fedcddc06f8f4b3d761c928fb5de3a3082;p=gcc.git re PR ipa/66896 (ipa-prop.c:2479 runtime error: member call on null pointer of type 'struct ipa_polymorphic_call_context') Fix PR ipa/66896. * g++.dg/ipa/pr66896.c: New test. PR ipa/66896. * ipa-prop.c (update_jump_functions_after_inlining): Create properly dst_ctx if it does not exist. From-SVN: r225887 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 90254ffb0a8..fa938d880ef 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-07-16 Martin Liska + + PR ipa/66896. + * ipa-prop.c (update_jump_functions_after_inlining): Create properly + dst_ctx if it does not exist. + 2015-07-16 Martin Liska * hash-set.h (remove): New function. diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index aa659b747e1..c862cfff8d9 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -2377,11 +2377,15 @@ update_jump_functions_after_inlining (struct cgraph_edge *cs, ctx.offset_by (dst->value.ancestor.offset); if (!ctx.useless_p ()) { - vec_safe_grow_cleared (args->polymorphic_call_contexts, - count); - dst_ctx = ipa_get_ith_polymorhic_call_context (args, i); + if (!dst_ctx) + { + vec_safe_grow_cleared (args->polymorphic_call_contexts, + count); + dst_ctx = ipa_get_ith_polymorhic_call_context (args, i); + } + + dst_ctx->combine_with (ctx); } - dst_ctx->combine_with (ctx); } if (src->agg.items diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9bace80590d..aa807cc2bfe 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2015-07-16 Martin Liska + + * g++.dg/ipa/pr66896.c: New test. + 2015-07-16 Richard Biener PR tree-optimization/66894