> If that was really true, we would get this right.
Well, this is true, I really don't understand why you keep denying that.
Just grep the RTL expanders for MEM_KEEP_ALIAS_SET_P for example:
`MEM_KEEP_ALIAS_SET_P (X)'
In `mem' expressions, 1 if we should keep the alias set for this
mem unchanged when we access a component. Set to 1, for example,
when we are already in a non-addressable component of an aggregate.
Stored in the `jump' field and printed as `/j'.
> You guys have come up with a very weird idea of what non-addressability
> means.
I didn't invent it either, but everything is more or less documented.
> These fields are all addressable, they are just not directly addressable.
Right, that's just what is written in tree.h:
/* Used in a FIELD_DECL to indicate that we cannot form the address of
this component. */
#define DECL_NONADDRESSABLE_P(NODE) \
(FIELD_DECL_CHECK (NODE)->decl_common.decl_flag_3)
--
Eric Botcazou