> 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

Reply via email to