| /* { dg-do compile } */ | |
| /* { dg-options "-O2 -fno-strict-aliasing -fwrapv -fexcess-precision=standard" } */ | |
| extern int foo(); | |
| typedef struct { | |
| char id; | |
| unsigned char fork_flags; | |
| short data_length; | |
| } Header; | |
| int a; | |
| void X() { | |
| do { | |
| char* b; | |
| Header c; | |
| if (a) | |
| c.fork_flags |= 1; | |
| __builtin_memcpy(b, &c, __builtin_offsetof(Header, data_length)); | |
| b += foo(); | |
| } while (1); | |
| } |