1 static inline int
foo(int * x,int y)2 foo (int *x, int y)
3 {
4   int z = *x;
5   while (y > z)
6     z *= 2;
7   return z;
8 }
9 
10 int
main()11 main ()
12 {
13   int i;
14   for (i = 1; i < 17; i++)
15     {
16       int j;
17       int k;
18       j = foo (&i, 7);
19       if (i >= 7)
20 	k = i;
21       else if (i >= 4)
22 	k = 8 + (i - 4) * 2;
23       else if (i == 3)
24 	k = 12;
25       else
26 	k = 8;
27       if (j != k)
28 	__builtin_abort ();
29     }
30   return 0;
31 }
32