https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71055
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2016-05-11
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot
gnu.org
Target Milestone|--- |7.0
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Mine. Even without -fpic we miscompile this - but twice, cancelling the
effect.
With -fpic we miscompile it only once, namely
v.i = 10;
f (&v1, v);
v.b = 0;
Deleted redundant store v.b = 0;
This is because we now figure that the read from v.b results in 0 which is
of course wrong (technically it has _Bool type and thus its precision makes
the value that GCC can use for optimization zero but it cannot use that
"precision" to say the store is redundant (because it stores still 8 bits).