This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Incorrect bitfield aliasing with Tree SSA
> 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.
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 Y isn't similarly marked, an assignment to *pf MIGHT
affect bar.y unless I could somehow prove by value tracking that it can't.