| /* { dg-do compile } */ | |
| /* { dg-options "-O2 -fdump-tree-evrp" } */ | |
| static int blocksize = 4096; | |
| int bar (int); | |
| void foo (void) | |
| { | |
| int toread; | |
| int bytes; | |
| static char eof_reached = 0; | |
| toread = blocksize; | |
| bytes = 1; | |
| while (toread != 0) | |
| { | |
| bytes = bar (toread); | |
| if (bytes <= 0) | |
| { | |
| if (bytes < 0) | |
| continue; | |
| break; | |
| } | |
| toread -= bytes; | |
| } | |
| if (bytes == 0) | |
| eof_reached = 1; | |
| } | |
| /* { dg-final { scan-tree-dump-times "Simplified relational" 1 "evrp" } } */ |