From a9b5a054c9f01420bb53f371cdc32ee622e12041 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Tue, 24 Aug 2004 01:45:23 +0000 Subject: [PATCH] re PR rtl-optimization/16180 (gcc crashes when optimization is turned on) PR c/16180 * jump.c (duplicate_loop_exit_test): If the location reached by the unconditional jump at the top of the loop is outside the loop, then do not treat it as the exit test. PR c/16180 * gcc.dg/loop-5.c: New test. From-SVN: r86459 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/loop-5.c | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/loop-5.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 617aee6273d..7a3fde266bb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-08-23 Mark Mitchell + + PR c/16180 + * gcc.dg/loop-5.c: New test. + 2004-08-23 Zdenek Dvorak * gcc.c-torture/execute/20040823-1.c: New test. diff --git a/gcc/testsuite/gcc.dg/loop-5.c b/gcc/testsuite/gcc.dg/loop-5.c new file mode 100644 index 00000000000..198823b1962 --- /dev/null +++ b/gcc/testsuite/gcc.dg/loop-5.c @@ -0,0 +1,16 @@ +/* PR c/16180 */ +/* { dg-options "-O2" } */ + +extern int b; +int foo (int a) +{ + if (a) + { + b = 0; + for(;;) + goto L; + } + L: + for(;;) + return 0; +} -- 2.30.2