Incorrect bitfield aliasing with Tree SSA
Daniel Berlin
dberlin@dberlin.org
Sun Jun 17 03:36:00 GMT 2007
On 6/16/07, Richard Kenner <kenner@vlsi1.ultra.nyu.edu> wrote:
> > 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.
>
> Terminology is always tricky here. "addressable" in this context means
> that no pointer can point directly to the field.
Which is, well, at least in aliasing and pointer tracking, a meaningless thing.
>
> So if I have
> struct foo {int x; float y; } bar;
> int *pi;
> float *pf;
>
> and mark X as "nonaddressable", I know that an assigment to *pi can't
> affect bar.x.
But if you add
struct foo *foop = &bar.
foop->x = 5.
It can, even though we *claim* X is nonaddressable.
If you told me this is what you meant by "nonaddressable", i'd
probably call you crazy.
It is most certainly addressable, because you can form the address of it.
More information about the Gcc
mailing list