(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr57359-1.c
       1  /* { dg-do run } */
       2  
       3  extern void abort();
       4  
       5  typedef int A;
       6  typedef float B;
       7  
       8  void __attribute__((noinline,noclone))
       9  foo(A *p, B *q, long unk)
      10  {
      11    for (long i = 0; i < unk; ++i) {
      12        *p = 1;
      13        q[i] = 42;
      14    }
      15  }
      16  
      17  int main(void)
      18  {
      19    union { A x; B f; } u;
      20    foo(&u.x, &u.f, 1);
      21    if (u.f != 42) abort();
      22    return 0;
      23  }