From 448476ff530dd40419da63d06190b46771fcf96e Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Wed, 16 Mar 2016 10:21:27 +0000 Subject: [PATCH] Safely use nodes[0] in possible_polymorphic_call_targets 2016-03-16 Tom de Vries PR lto/70187 * ipa-devirt.c (possible_polymorphic_call_targets): Move nodes.length () == 1 test to before first nodes[0] access. From-SVN: r234253 --- gcc/ChangeLog | 6 ++++++ gcc/ipa-devirt.c | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e7c759febda..3b131b0557a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-03-16 Tom de Vries + + PR lto/70187 + * ipa-devirt.c (possible_polymorphic_call_targets): Move + nodes.length () == 1 test to before first nodes[0] access. + 2016-03-16 Tom de Vries PR tree-optimization/68715 diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c index e4fb56210f6..4df171bc116 100644 --- a/gcc/ipa-devirt.c +++ b/gcc/ipa-devirt.c @@ -3178,10 +3178,10 @@ possible_polymorphic_call_targets (tree otr_type, if (!outer_type->all_derivations_known) { if (!speculative && final_warning_records + && nodes.length () == 1 && TREE_CODE (TREE_TYPE (nodes[0]->decl)) == METHOD_TYPE) { if (complete - && nodes.length () == 1 && warn_suggest_final_types && !outer_type->derived_types.length ()) { @@ -3197,7 +3197,6 @@ possible_polymorphic_call_targets (tree otr_type, } if (complete && warn_suggest_final_methods - && nodes.length () == 1 && types_same_for_odr (DECL_CONTEXT (nodes[0]->decl), outer_type->type)) { -- 2.30.2