This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/79671] [7 Regression] mapnik miscompilation on armv7hl since r235622
- From: "rguenther at suse dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 27 Mar 2017 10:22:10 +0000
- Subject: [Bug target/79671] [7 Regression] mapnik miscompilation on armv7hl since r235622
- Auto-submitted: auto-generated
- References: <bug-79671-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79671
--- Comment #54 from rguenther at suse dot de <rguenther at suse dot de> ---
On Mon, 27 Mar 2017, bernd.edlinger at hotmail dot de wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79671
>
> --- Comment #53 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
> (In reply to rguenther@suse.de from comment #52)
> > On Mon, 27 Mar 2017, bernd.edlinger at hotmail dot de wrote:
> >
> > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79671
> > >
> > > --- Comment #51 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
> > > Doesn't 3.10/10 explicitly say that it is undefined to use a union to
> > > to move an object representation that is not a member of the union?
> >
> > That was my reading... but 3.10/10 talks about "attempts to access
> > the stored value of an object" and Jason says that this doesn't apply
> > to d = *p but the result of the decomposition to memberwise copy
> > plus union special handling (where it wouldn't apply at all)
> >
>
> The boost code was: "this->functor = f.functor;"
> thus directly accessing the union, so there was no decomposition
> to memberwise copy, right?
Right.
But still the other clause says the storage representation is transfered
and so you could read into that that no "access" happens and thus
3.10/10 doesn't apply.