AArch64: implement TARGET_VECTORIZE_CONDITIONAL_OPERATION_IS_EXPENSIVE [PR115531].
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 990208-1.c
blob49329b8c8d6e79485eee413fad1f46c632389ad9
1 /* { dg-require-effective-target label_values } */
3 /* As a quality of implementation issue, we should not prevent inlining
4 of function explicitly marked inline just because a label therein had
5 its address taken. */
7 void abort (void);
8 void exit (int);
10 static void *ptr1, *ptr2;
11 static int i = 1;
13 static __inline__ void doit(void **pptr, int cond)
15 if (cond) {
16 here:
17 *pptr = &&here;
21 __attribute__ ((noinline))
22 static void f(int cond)
24 doit (&ptr1, cond);
27 __attribute__ ((noinline))
28 static void g(int cond)
30 doit (&ptr2, cond);
33 __attribute__ ((noinline))
34 static void bar(void);
36 int main()
38 f (i);
39 bar();
40 g (i);
42 #ifdef __OPTIMIZE__
43 if (ptr1 == ptr2)
44 abort ();
45 #endif
47 exit (0);
50 void bar(void) { }