aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-inline-analysis.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2011-08-05 22:56:05 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2011-08-05 20:56:05 +0000
commit9911e25a2745e1d523257ace9207d4d85146b8ed (patch)
treed80d1cd1420c0d4a368fbeca8de9f188b037fc5f /gcc/ipa-inline-analysis.c
parent75d3e6e37211c3614d576e7d748f50e55cb169fd (diff)
downloadgcc-9911e25a2745e1d523257ace9207d4d85146b8ed.zip
gcc-9911e25a2745e1d523257ace9207d4d85146b8ed.tar.gz
gcc-9911e25a2745e1d523257ace9207d4d85146b8ed.tar.bz2
+ PR middle-end/49494 + * ipa-inline-analysis.c (remap_predicate): Add bounds check.
+ PR middle-end/49494 + * ipa-inline-analysis.c (remap_predicate): Add bounds check. + * gfortran.dg/pr49494.f90: New testcase. From-SVN: r177484
Diffstat (limited to 'gcc/ipa-inline-analysis.c')
-rw-r--r--gcc/ipa-inline-analysis.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c
index b008f05..1055d52 100644
--- a/gcc/ipa-inline-analysis.c
+++ b/gcc/ipa-inline-analysis.c
@@ -1873,6 +1873,7 @@ remap_predicate (struct inline_summary *info, struct inline_summary *callee_info
/* See if we can remap condition operand to caller's operand.
Otherwise give up. */
if (!operand_map
+ || VEC_length (int, operand_map) <= c->operand_num
|| VEC_index (int, operand_map, c->operand_num) == -1)
cond_predicate = true_predicate ();
else