(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
pr40657.c
       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  }