111
|
1 /* { dg-do compile } */
|
131
|
2 /* { dg-options "-O2 -fdump-tree-evrp" } */
|
111
|
3
|
|
4 static int blocksize = 4096;
|
|
5
|
|
6 int bar (int);
|
|
7
|
|
8 void 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
|
131
|
33 /* { dg-final { scan-tree-dump-times "Simplified relational" 1 "evrp" } } */
|