(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr52244.c
       1  /* { dg-do run } */
       2  
       3  extern void abort (void);
       4  
       5  typedef union u_r 
       6  {
       7    _Bool b;
       8    unsigned char c;
       9  } u_t;
      10  
      11  u_t
      12  bar (void)
      13  {
      14    u_t u;
      15    u.c = 0x12;
      16    return u;
      17  }
      18  
      19  u_t  __attribute__ ((noinline))
      20  foo (void)
      21  {
      22    u_t u;
      23  
      24    u.b = 1;
      25    u = bar ();
      26  
      27    return u;
      28  }
      29  
      30  int main (int argc, char **argv)
      31  {
      32    u_t u = foo ();
      33    if (u.c != 0x12)
      34      abort ();
      35    return 0;
      36  }