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
+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.
--- /dev/null
+/* PR c/16180 */
+/* { dg-options "-O2" } */
+
+extern int b;
+int foo (int a)
+{
+ if (a)
+ {
+ b = 0;
+ for(;;)
+ goto L;
+ }
+ L:
+ for(;;)
+ return 0;
+}