1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
3 
4 int func_pure (void) __attribute__ ((pure));
5 void func_other (int);
6 int global_int;
7 void abort ();
func_other(int a)8 void func_other(int a)
9 {
10   if (a != global_int)
11    abort ();
12   global_int++;
13 }
14 
func_pure(void)15 int func_pure(void)
16 {
17   return global_int;
18 }
19 
20 int
func_loop(int arg)21 func_loop (int arg)
22 {
23  // global_int ++;
24   while (arg--)
25       func_other (func_pure ());
26 }
27 
main(void)28 int main(void)
29 {
30   func_loop(10);
31   return 0;
32 }
33