1 int x; 2 foo(void)3void __attribute__((noinline)) foo (void) 4 { 5 x = -x; 6 } bar(void)7void __attribute__((const,noinline)) bar (void) 8 { 9 } 10 11 int __attribute__((noinline)) test(int c)12test (int c) 13 { 14 int tmp = x; 15 (c ? foo : bar) (); 16 return tmp + x; 17 } 18 19 extern void abort (void); main()20int main() 21 { 22 x = 1; 23 if (test (1) != 0) 24 abort (); 25 return 0; 26 } 27