This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix PR61266


The following reverts the un-XFAILing and adjusts the testcase
according to reality (as already noted in testcase comments).

Committed.

Richard.

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.

Index: gcc/testsuite/gcc.dg/Wstrict-overflow-18.c
===================================================================
--- gcc/testsuite/gcc.dg/Wstrict-overflow-18.c	(revision 210845)
+++ gcc/testsuite/gcc.dg/Wstrict-overflow-18.c	(working copy)
@@ -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);
     }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]