re PR rtl-optimization/16180 (gcc crashes when optimization is turned on)
authorMark Mitchell <mark@codesourcery.com>
Tue, 24 Aug 2004 01:45:23 +0000 (01:45 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Tue, 24 Aug 2004 01:45:23 +0000 (01:45 +0000)
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
gcc/testsuite/gcc.dg/loop-5.c [new file with mode: 0644]

index 617aee6273d2dbe9df430ec3dc56d62c0e514c45..7a3fde266bb4a0cc24948587e79d5e3cc71430a6 100644 (file)
@@ -1,3 +1,8 @@
+2004-08-23  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c/16180
+       * gcc.dg/loop-5.c: New test.
+
 2004-08-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
 
        * 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 (file)
index 0000000..198823b
--- /dev/null
@@ -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;
+}