Merge -r 127928:132243 from trunk
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 20071220-2.c
blob93fa9de0275c3d07e5deb77a8d2cdbe0c43b2bc4
1 /* PR tree-optimization/29484 */
3 extern void abort (void);
5 void *__attribute__((noinline))
6 baz (void **lab)
8 asm volatile ("" : "+r" (lab));
9 return *lab;
12 static inline
13 int bar (void)
15 static void *b[] = { &&addr };
16 baz (b);
17 addr:
18 return 17;
21 int __attribute__((noinline))
22 f1 (void)
24 return bar ();
27 int __attribute__((noinline))
28 f2 (void)
30 return bar ();
33 int
34 main (void)
36 if (f1 () != 17 || f1 () != 17 || f2 () != 17 || f2 () != 17)
37 abort ();
38 return 0;