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" } } */