https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105100
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[10/11/12 RegressionStrange |[10/11/12 Regression] |warning when modifying |Strange warning when |structures "writing 1 byte |modifying structures |into a region of size 0" |"writing 1 byte into a |when compile with -O3 |region of size 0" when | |compile with -O3 Priority|P3 |P2 Target Milestone|--- |10.4 Known to work| |9.4.0 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- There might be a duplicate. It's the usual address CSE issue. -fno-code-hoisting avoids it in this case. <bb 3> [local count: 184361477]: - [t.c:23:12] pb_17 = [t.c:23:29] &[t.c:23:34] [t.c:23:34] MEM[(struct b_t *)dst_13(D)].b; + [t.c:23:12] pretmp_29 = &MEM <struct c_t> [(void *)dst_13(D)].c.a; and PRE does <bb 2> [local count: 542239628]: [t.c:21:7] _1 = [t.c:21:7] MEM[(uint32_t *)dst_13(D)]; + [t.c:23:12] pretmp_29 = &MEM <struct c_t> [(void *)dst_13(D)].c.a; [t.c:21:5] if (_1 == 1) ... - <bb 3> [local count: 184361475]: - [t.c:23:12] pb_17 = [t.c:23:29] &[t.c:23:34] [t.c:23:34] MEM[(struct b_t *)dst_13(D)].b; ... - <bb 5> [local count: 357878152]: - [t.c:29:12] pc_14 = [t.c:29:29] &[t.c:29:37] [t.c:29:34] [t.c:29:34] MEM[(struct c_t *)dst_13(D)].c.a; + <bb 4> [local count: 357878152]: