On 6/16/07, Eric Botcazou <[EMAIL PROTECTED]> 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.