(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
nested-apcs.c
       1  /* { dg-do run } */
       2  /* { dg-options "-fno-omit-frame-pointer -mapcs-frame -O" } */
       3  
       4  extern void abort (void);
       5  
       6  struct x
       7  {
       8    int y;
       9    int z;
      10  };
      11  
      12  int __attribute__((noinline)) f (int c, int d, int e, int h, int i)
      13  {
      14    int a;
      15    struct x b;
      16  
      17    int __attribute__((noinline)) g (int p, int q, int r, struct x s)
      18    {
      19      return a + p + q + r + s.y + s.z;
      20    }
      21  
      22    a = 5;
      23    b.y = h;
      24    b.z = i;
      25  
      26    return g(c, d, e, b);
      27  }
      28  
      29  int main(void)
      30  {
      31    if (f (1, 2, 3, 4, 5) != 20)
      32      abort();
      33    return 0;
      34  }