1 /* Verify that that Thumb-1 epilogue size optimization does not clobber the 2 return value. */ 3 4 long long v = 0x123456789abc; 5 bar(int * x)6__attribute__((noinline)) void bar (int *x) 7 { 8 asm volatile ("" : "=m" (x) ::); 9 } 10 foo()11__attribute__((noinline)) long long foo() 12 { 13 int x; 14 bar(&x); 15 return v; 16 } 17 main()18int main () 19 { 20 if (foo () != v) 21 abort (); 22 exit (0); 23 } 24