diff options
author | Jan Hubicka <jh@suse.cz> | 2011-08-05 22:56:05 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2011-08-05 20:56:05 +0000 |
commit | 9911e25a2745e1d523257ace9207d4d85146b8ed (patch) | |
tree | d80d1cd1420c0d4a368fbeca8de9f188b037fc5f | |
parent | 75d3e6e37211c3614d576e7d748f50e55cb169fd (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ipa-inline-analysis.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr49494.f90 | 12 |
4 files changed, 23 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c28baac..8ec9d41 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2011-08-05 Jan Hubicka <jh@suse.cz> + PR middle-end/49494 + * ipa-inline-analysis.c (remap_predicate): Add bounds check. + +2011-08-05 Jan Hubicka <jh@suse.cz> + PR middle-end/49500 * tree-emultls.c (new_emutls_decl):Add alias_of parameter; handle aliases. 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 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4739dbc..93bf7f9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2011-08-05 Jan Hubicka <jh@suse.cz> + PR middle-end/49494 + * gfortran.dg/pr49494.f90: New testcase. + +2011-08-05 Jan Hubicka <jh@suse.cz> + PR middle-end/49735 * gcc.c-torture/compile/pr49735.c: New testcase. diff --git a/gcc/testsuite/gfortran.dg/pr49494.f90 b/gcc/testsuite/gfortran.dg/pr49494.f90 new file mode 100644 index 0000000..b3a35cf --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr49494.f90 @@ -0,0 +1,12 @@ +! { dg-do compile } +! { dg-options "-O -findirect-inlining -fno-guess-branch-probability -finline-functions -finline-small-functions" } +function more_OK (fcn) + character(*) more_OK + character (*), external :: fcn + more_OK = fcn () +end function more_OK + character(4) :: answer + character(4), external :: is_OK, more_OK + answer = more_OK (is_OK) +contains +END |