Hi,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52904
Tescase was generating warning: assuming signed overflow does not occur
when simplifying conditional to constant [-Wstrict-overflow] due to VRP
missing the value range.
This seems to have been fixed and the PR is now closed. However, as
requested there in the PR, I am sending this patch to add the test-case
to test-suite.
Is this OK ?
Thanks,
Kugan
gcc/testsuite
2014-08-09 Kugan Vivekanandarajah <[email protected]>
PR tree-optimization/52904
* gcc.dg/PR52904.c: New test.
diff --git a/gcc/testsuite/gcc.dg/PR52904.c b/gcc/testsuite/gcc.dg/PR52904.c
index e69de29..e490d23 100644
--- a/gcc/testsuite/gcc.dg/PR52904.c
+++ b/gcc/testsuite/gcc.dg/PR52904.c
@@ -0,0 +1,26 @@
+
+/* { dg-do compile } */
+/* { dg-options "-S -Wstrict-overflow -O2 -fdump-tree-vrp2" } */
+
+extern int foo (int);
+
+
+int
+wait_reading_process_output (void)
+{
+ int nfds = 0;
+ int channel;
+ for (channel = 0; channel < 1024; ++channel)
+ {
+ if (foo (channel))
+ nfds++;
+ }
+ if (nfds < 0)
+ return 1;
+ return 0;
+}
+
+/* { dg-bogus "assuming signed overflow does not occur when simplifying\
+ conditional to constant" */
+/* { dg-final { scan-tree-dump "\\\[0, 1023\\\]" "vrp2" } } */
+/* { dg-final { cleanup-tree-dump "vrp2" } } */