> 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