(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr70740.c
       1  /* { dg-do compile } */
       2  
       3  extern int foo (void);
       4  extern void *memcpy (void *, const void *, __SIZE_TYPE__);
       5  
       6  struct
       7  {
       8    char a[6];
       9  } d;
      10  struct
      11  {
      12    int a1[0];
      13    int a2[0];
      14    int a3[0];
      15    int a4[];
      16  } a, c;
      17  int b;
      18  
      19  int *
      20  bar ()
      21  {
      22    if (b)
      23      return a.a4;
      24    return a.a2;
      25  }
      26  
      27  void
      28  baz ()
      29  {
      30    int *e, *f;
      31    if (foo ())
      32      e = c.a3;
      33    else
      34      e = c.a1;
      35    memcpy (d.a, e, 6);
      36    f = bar ();
      37    memcpy (d.a, f, 1);
      38  }