On 11/08/14 18:03, Richard Biener wrote:
> On Sat, Aug 9, 2014 at 2:33 PM, Kugan <kugan.vivekanandara...@linaro.org> 
> wrote:
>> 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 ?
> 
> Did you verify the testcase fails before the revision that fixed it?
> Esp. the placement of the dg-bogus looks bogus to me.

I tried it on Linaro 4.9 (It should be the same in fsf gcc 4.9 branch)
and the test cases is failing there. Passes on trunk.

In any case, I have moved it to the top and reverified. I have also
trimmed the warning pattern to check as there was some changes there
from 4.9 to trunk.

> 
> Also don't use -S in dg-options, use lower-case filenames and
> avoid spurious vertical white-space.  The VRP dump scan is
> also very unspecific - I suggest to drop it entirely.
> 

Done.


Is this OK?


Thanks,
Kugan

gcc/testsuite
2014-08-12  Kugan Vivekanandarajah  <kug...@linaro.org>

        PR tree-optimization/52904
        * gcc.dg/pr52904.c: New test.



> Thanks,
> Richard.
> 
>> Thanks,
>> Kugan
>>
>> gcc/testsuite
>>
>>
>> 2014-08-09  Kugan Vivekanandarajah  <kug...@linaro.org>
>>
>>         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..7c04187 100644
--- a/gcc/testsuite/gcc.dg/pr52904.c
+++ b/gcc/testsuite/gcc.dg/pr52904.c
@@ -0,0 +1,24 @@
+
+/* { dg-do compile } */
+/* { dg-options "-Wstrict-overflow -O2" } */
+/* { dg-bogus "assuming signed overflow does not occur when simplifying" */
+
+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;
+}
+

Reply via email to