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]: