Require label_values for gcc.dg/torture/pr80163.c
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / pr80163.c
bloba9a4438d66f91eba3c9308d6266c2d1630a26be6
1 /* PR c/80163 */
2 /* { dg-do compile { target int128 } } */
3 /* { dg-require-effective-target label_values } */
5 volatile int v;
7 __attribute__((noinline, noclone)) void
8 bar (void)
10 v++;
11 asm volatile ("" : : : "memory");
14 __attribute__((noinline, noclone)) __int128_t *
15 foo (unsigned long **p)
18 bar ();
20 bar ();
21 static __int128_t d = (unsigned long) &&a - (unsigned long) &&b;
22 static unsigned long e = (unsigned long) &&a - (unsigned long) &&b;
23 *p = &e;
24 return &d;
27 int
28 main ()
30 __int128_t *p;
31 unsigned long *q;
32 p = foo (&q);
33 if (*p != *q)
34 __builtin_abort ();
35 return 0;