1 /* builtin_return_address(n) with n>0 has always been troublesome ...
2 especially when the S/390 packed stack layout comes into play. */
5 /* { dg-options "-O3 -fno-optimize-sibling-calls -mbackchain -mpacked-stack -msoft-float" } */
9 extern void abort (void);
11 void * __attribute__((noinline))
14 addr1 = __builtin_return_address (2);
17 void * __attribute__((noinline))
23 void * __attribute__((noinline))
29 void __attribute__((noinline))
35 asm volatile ("basr %0,0\n\t" : "=d" (addr2));
36 /* basr is two bytes in length. */
37 if (addr2 - addr1 != 2)