(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
stackalign/
nested-1.c
       1  /* { dg-do run } */
       2  /* { dg-skip-if "Stack alignment is too small" { hppa*-*-hpux* } } */
       3  /* { dg-skip-if "Stack alignment causes use of alloca" { nvptx-*-* } } */
       4  
       5  #include "check.h"
       6  
       7  #ifndef ALIGNMENT
       8  #define ALIGNMENT	64
       9  #endif
      10  
      11  typedef int aligned __attribute__((aligned(ALIGNMENT)));
      12  
      13  int global;
      14  
      15  void
      16  foo (void)
      17  {
      18    aligned j;
      19  
      20    void bar ()
      21      {
      22        aligned i;
      23  
      24        if (check_int (&i,  __alignof__(i)) != i)
      25  	abort ();
      26  
      27        if (check_int (&j,  __alignof__(j)) != j)
      28  	abort ();
      29  
      30        j = -20;
      31      }
      32    bar ();
      33  
      34    if (j != -20)
      35      abort ();
      36  
      37    if (check_int (&j,  __alignof__(j)) != j)
      38      abort ();
      39  }
      40  
      41  int
      42  main()
      43  {
      44    foo ();
      45    return 0;
      46  }