/* PR tree-optimization/50569 */ /* Reported by Paul Koning */ /* Reduced testcase by Mikael Pettersson */ struct event { struct { unsigned int sec; } sent __attribute__((packed)); }; void __attribute__((noinline,noclone)) frob_entry(char *buf) { struct event event; __builtin_memcpy(&event, buf, sizeof(event)); if (event.sent.sec < 64) { event.sent.sec = -1U; __builtin_memcpy(buf, &event, sizeof(event)); } } int main(void) { union { char buf[1 + sizeof(struct event)]; int align; } u; __builtin_memset(&u, 0, sizeof u); frob_entry(&u.buf[1]); return 0; }