/* { dg-do run } */ | |
extern void abort (void); | |
typedef union u_r | |
{ | |
_Bool b; | |
unsigned char c; | |
} u_t; | |
u_t | |
bar (void) | |
{ | |
u_t u; | |
u.c = 0x12; | |
return u; | |
} | |
u_t __attribute__ ((noinline)) | |
foo (void) | |
{ | |
u_t u; | |
u.b = 1; | |
u = bar (); | |
return u; | |
} | |
int main (int argc, char **argv) | |
{ | |
u_t u = foo (); | |
if (u.c != 0x12) | |
abort (); | |
return 0; | |
} |