(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr41123.c
       1  /* PR middle-end/41123 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -fno-strict-aliasing" } */
       4  
       5  struct S { char a, b, c, d, e, f, g, h; };
       6  struct T { int a, b; };
       7  
       8  struct S
       9  f1 (float _Complex x)
      10  {
      11    return *(struct S *) & x;
      12  }
      13  
      14  int
      15  f2 (float _Complex x)
      16  {
      17    struct S f = f1 (x);
      18    return f.b;
      19  }
      20  
      21  struct T
      22  f3 (float _Complex x)
      23  {
      24    return *(struct T *) & x;
      25  }
      26  
      27  int
      28  f4 (float _Complex x)
      29  {
      30    struct T f = f3 (x);
      31    return f.a;
      32  }
      33  
      34  int
      35  f5 (float _Complex x)
      36  {
      37    struct T f = f3 (x);
      38    return f.b;
      39  }
      40  
      41  struct T
      42  f6 (float _Complex x)
      43  {
      44    struct T f = f3 (x);
      45    return f;
      46  }