/* { 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); | |
} |