diff options
author | Tom de Vries <tom@codesourcery.com> | 2016-03-16 10:21:27 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2016-03-16 10:21:27 +0000 |
commit | 448476ff530dd40419da63d06190b46771fcf96e (patch) | |
tree | f908b5c559b27c45440ee0bab1e4a6e6d8471671 | |
parent | b462f86075e21ebea2b77b09b322b51e89b571d2 (diff) | |
download | gcc-448476ff530dd40419da63d06190b46771fcf96e.zip gcc-448476ff530dd40419da63d06190b46771fcf96e.tar.gz gcc-448476ff530dd40419da63d06190b46771fcf96e.tar.bz2 |
Safely use nodes[0] in possible_polymorphic_call_targets
2016-03-16 Tom de Vries <tom@codesourcery.com>
PR lto/70187
* ipa-devirt.c (possible_polymorphic_call_targets): Move
nodes.length () == 1 test to before first nodes[0] access.
From-SVN: r234253
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ipa-devirt.c | 3 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e7c759f..3b131b0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2016-03-16 Tom de Vries <tom@codesourcery.com> + 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 <tom@codesourcery.com> + PR tree-optimization/68715 * graphite-scop-detection.c (scop_detection::merge_sese): Add missing single_pred_p test. diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c index e4fb562..4df171b 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)) { |