Incorrect bitfield aliasing with Tree SSA

Daniel Berlin dberlin@dberlin.org
Sat Jun 16 22:20:00 GMT 2007


On 6/16/07, Eric Botcazou <ebotcazou@libertysurf.fr> wrote:
> > HMm, i'd just record it for all of them, since the [fields] are accessible
> > through a pointer to the structure.
>
> They are indeed accessible this way...
>
> > Just because you can't directly take the address of a bitfield doesn't
> > mean you can't access one through a pointer, which is the entire
> > purpose of knowing alias sets (knowing what a pointer dereference
> > could affect).
>
> ...but DECL_NONADDRESSABLE_P precisely means that the alias set used for
> accessing these fields at the RTL level is that of the containing structure:

If that was really true, we would get this right.
>
> Adam has simply run with C into another form of the same discrepancy we have
> run into when we tried to enable struct aliasing with Ada, see PR 25737.

You guys have come up with a very weird idea of what non-addressability means.

These fields are all addressable, they are just not directly addressable.



More information about the Gcc mailing list