(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
array-4.c
       1  /* { dg-do run } */
       2  /* { dg-options "" } */
       3  
       4  /* Verify that GCC's initialized flexible array member extension
       5     works properly.  */
       6  
       7  extern void abort(void);
       8  extern void exit(int);
       9  
      10  struct f { int w; int x[]; };
      11  struct g { int w; int x[0]; };
      12  
      13  static struct f f = { 4, { 0, 1, 2, 3 } };
      14  static int junk1[] = { -1, -1, -1, -1 };
      15  static struct g g = { 4, { 0, 1, 2, 3 } }; /* { dg-warning "(excess elements)|(near initialization)" } */
      16  static int junk2[] = { -1, -1, -1, -1 };
      17  
      18  int main()
      19  {
      20    int i;
      21    for (i = 0; i < f.w; ++i)
      22      if (f.x[i] != i)
      23        abort ();
      24    exit(0);
      25  }