Fix undefined-loop-2.c test case.
authorAndrew Stubbs <ams@codesourcery.com>
Wed, 24 Dec 2014 14:27:06 +0000 (14:27 +0000)
committerAndrew Stubbs <ams@gcc.gnu.org>
Wed, 24 Dec 2014 14:27:06 +0000 (14:27 +0000)
2014-12-24  Andrew Stubbs  <ams@codesourcery.com>

PR testsuite/64032
* gcc.dg/undefined-loop-2.c: Don't allow GCC to optimize away the
loop exits too early.

From-SVN: r219059

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/undefined-loop-2.c

index b74165e6eae9cbb1ab61b03f903fd16d8c57e519..ef6a8aa3c2d880d17af3976f748bd00e349b6b7d 100644 (file)
@@ -1,3 +1,9 @@
+2014-12-24  Andrew Stubbs  <ams@codesourcery.com>
+
+       PR testsuite/64032
+       * gcc.dg/undefined-loop-2.c: Don't allow GCC to optimize away the
+       loop exits too early.
+
 2014-12-24  Paolo Carlini  <paolo.carlini@oracle.com>
 
        PR c++/63985
index dbea62cf20b6a4032ed84e946605f396a7d0d85e..7ab37f4e9e19d8de86b28b402f3fed9b4e6f2fe9 100644 (file)
@@ -15,8 +15,11 @@ foo (int p)
        (p
         ? array1[i]  /* { dg-message "note: possible undefined statement is here" } */
         : array2[i]) /* { dg-message "note: possible undefined statement is here" } */
-       && i < 5      /* { dg-warning "loop exit may only be reached after undefined behavior" } */
        && i < 100;   /* { dg-warning "loop exit may only be reached after undefined behavior" } */
        i++)
-    doSomething(array1[i]);
+    {
+      if (i >= 5)    /* { dg-warning "loop exit may only be reached after undefined behavior" } */
+       break;
+      doSomething(array1[i]);
+    }
 }