modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/pr40657.c (about) 1 /* Verify that that Thumb-1 epilogue size optimization does not clobber the 2 return value. */ 3 4 long long v = 0x123456789abc; 5 6 __attribute__((noinline)) void bar (int *x) 7 { 8 asm volatile ("" : "=m" (x) ::); 9 } 10 11 __attribute__((noinline)) long long foo() 12 { 13 int x; 14 bar(&x); 15 return v; 16 } 17 18 int main () 19 { 20 if (foo () != v) 21 abort (); 22 exit (0); 23 }