| /* { dg-do compile } */ | |
| union u_u16 | |
| { | |
| unsigned short v; | |
| struct | |
| { | |
| unsigned char lo8, hi8; | |
| } __attribute__ ((__may_alias__)) u; | |
| } __attribute__ ((__may_alias__)); | |
| union u_u32 | |
| { | |
| unsigned int v; | |
| struct | |
| { | |
| u_u16 lo16, hi16; | |
| } u; | |
| } __attribute__ ((__may_alias__)); | |
| union u_u64 | |
| { | |
| struct | |
| { | |
| u_u32 lo32, hi32; | |
| } u; | |
| }; | |
| struct Record | |
| { | |
| }; | |
| long long | |
| UnpackFullKey (Record & rec, const char *&p) | |
| { | |
| long long c64 = 0; | |
| (*(u_u16 *) & (*(u_u32 *) & ( *(u_u64*)&c64).u.lo32.v).u.lo16.v).u.hi8 = 1; | |
| return c64; | |
| } | |