PR middle-end/77357 - strlen of constant strings not folded
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 20071220-1.c
blobe832acc8492f61734aa8d1bb9436b9552180ee11
1 /* PR tree-optimization/29484 */
2 /* { dg-require-effective-target label_values } */
3 /* { dg-require-effective-target indirect_jumps } */
5 extern void abort (void);
7 void *__attribute__((noinline))
8 baz (void **lab)
10 asm volatile ("" : "+r" (lab));
11 return *lab;
14 static inline
15 int bar (void)
17 static void *b[] = { &&addr };
18 void *p = baz (b);
19 goto *p;
20 addr:
21 return 17;
24 int __attribute__((noinline))
25 f1 (void)
27 return bar ();
30 int __attribute__((noinline))
31 f2 (void)
33 return bar ();
36 int
37 main (void)
39 if (f1 () != 17 || f1 () != 17 || f2 () != 17 || f2 () != 17)
40 abort ();
41 return 0;