re PR tree-optimization/61266 (FAIL: gcc.dg/Wstrict-overflow-18.c (test for bogus...
authorRichard Biener <rguenther@suse.de>
Fri, 23 May 2014 08:13:59 +0000 (08:13 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 23 May 2014 08:13:59 +0000 (08:13 +0000)
2014-05-23  Richard Biener  <rguenther@suse.de>

PR testsuite/61266
* gcc.dg/Wstrict-overflow-18.c: Revert un-XFAILing and
adjust testcase to reflect reality.

From-SVN: r210846

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/Wstrict-overflow-18.c

index e0b594b..076e4e3 100644 (file)
@@ -1,3 +1,9 @@
+2014-05-23  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/61266
+       * gcc.dg/Wstrict-overflow-18.c: Revert un-XFAILing and
+       adjust testcase to reflect reality.
+
 2014-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
 
        PR tree-optimization/54733
index 7bf111a..bab91ce 100644 (file)
@@ -1,11 +1,8 @@
 /* { dg-do compile } */
 /* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow" } */
 
-/* Don't warn about an overflow when folding i > 0.  The loop analysis
-   should determine that i does not wrap.
-
-   The test is really bogus, p->a - p->b can be larger than INT_MAX
-   and thus i can very well wrap.  */
+/* Warn about an overflow when folding i > 0, p->a - p->b can be larger
+   than INT_MAX and thus i can wrap.  */
 
 struct c { unsigned int a; unsigned int b; };
 extern void bar (struct c *);
@@ -17,7 +14,7 @@ foo (struct c *p)
 
   for (i = 0; i < p->a - p->b; ++i)
     {
-      if (i > 0)  /* { dg-bogus "warning" "" } */
+      if (i > 0)  /* { dg-warning "signed overflow" "" } */
        sum += 2;
       bar (p);
     }