summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr20100.c
blob: 988fbda6429db437a2eb03cc2a78a9e76ca3985d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* { dg-do run } */
/* { dg-options "-O2" } */

int func_pure (void) __attribute__ ((pure));
void func_other (int);
int global_int;
void abort ();
void func_other(int a)
{
  if (a != global_int)
   abort ();
  global_int++;
}

int func_pure(void)
{
  return global_int;
}

int
func_loop (int arg)
{
 // global_int ++;
  while (arg--)
      func_other (func_pure ());
}

int main(void)
{
  func_loop(10);
  return 0;
}