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

Reply via email to