PR middle-end/77357 - strlen of constant strings not folded
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 20111212-1.c
blobc46e6e94636efbaae07f115768b10d839fd9a2f0
1 /* PR tree-optimization/50569 */
2 /* Reported by Paul Koning <pkoning@gcc.gnu.org> */
3 /* Reduced testcase by Mikael Pettersson <mikpe@it.uu.se> */
5 struct event {
6 struct {
7 unsigned int sec;
8 } sent __attribute__((packed));
9 };
11 void __attribute__((noinline,noclone)) frob_entry(char *buf)
13 struct event event;
15 __builtin_memcpy(&event, buf, sizeof(event));
16 if (event.sent.sec < 64) {
17 event.sent.sec = -1U;
18 __builtin_memcpy(buf, &event, sizeof(event));
22 int main(void)
24 union {
25 char buf[1 + sizeof(struct event)];
26 int align;
27 } u;
29 __builtin_memset(&u, 0, sizeof u);
31 frob_entry(&u.buf[1]);
33 return 0;