1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -fdump-tree-evrp" } */ 3 4 static int blocksize = 4096; 5 6 int bar (int); 7 foo(void)8void foo (void) 9 { 10 int toread; 11 int bytes; 12 static char eof_reached = 0; 13 14 toread = blocksize; 15 bytes = 1; 16 17 while (toread != 0) 18 { 19 bytes = bar (toread); 20 if (bytes <= 0) 21 { 22 if (bytes < 0) 23 continue; 24 break; 25 } 26 toread -= bytes; 27 } 28 29 if (bytes == 0) 30 eof_reached = 1; 31 } 32 33 /* { dg-final { scan-tree-dump-times "Simplified relational" 1 "evrp" } } */ 34