https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82556
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2017-10-15 CC| |trippels at gcc dot gnu.org, | |vmakarov at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- 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); }