Update concepts branch to revision 131834
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / pr33992.c
blob743361061db7db62cb00a75b551890820b4cb4f6
1 extern void abort ();
3 void __attribute__((noinline))
4 bar (unsigned long long i)
6 if (i)
7 abort ();
10 void __attribute__((always_inline))
11 foo (unsigned long long *r)
13 int i;
15 for (i = 0; ; i++)
16 if (*r & ((unsigned long long)1 << (63 - i)))
17 break;
19 bar (i);
22 void __attribute__((noinline))
23 do_test (unsigned long long *r)
25 int i;
27 for (i = 0; i < 2; ++i)
28 foo (r);
31 int main()
33 unsigned long long r = 0x8000000000000001ull;
35 do_test (&r);
36 return 0;