> 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.

Reply via email to