(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
packed-vla.c
       1  /* PR middle-end/27945 */
       2  /* { dg-do run } */
       3  /* { dg-options "" } */
       4  /* { dg-require-effective-target alloca } */
       5  
       6  extern int printf (const char *, ...);
       7  extern void abort ();
       8  
       9  int func(int levels) 
      10  {
      11    struct bar {
      12      unsigned char	a;
      13      int			b[levels];
      14    } __attribute__ ((__packed__)) bar;
      15  
      16    struct foo {
      17      unsigned char	a;
      18      int			b[4];
      19    } __attribute__ ((__packed__)) foo;
      20  
      21    printf("foo %d\n", sizeof(foo));
      22    printf("bar %d\n", sizeof(bar));
      23  
      24    if (sizeof (foo) != sizeof (bar))
      25      abort ();
      26  }
      27  
      28  int main()
      29  {
      30    func(4);
      31    return 0;
      32  }