https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79216

--- Comment #4 from H. Peter Anvin <hpa at zytor dot com> ---
As in, I would expect that:

struct foo __attribute__((scalar_storage_order("big-endian")))
{
    uint32_t bar;
} foo;

uint32_t *baz = &foo.bar;

... would give an error on a littleendian architecture and a warning on a
bigendian architecture, however, at this point it seems to be completely quiet
about it.

Finally, the section in the manual about type-punning in the presence of this
attribute is very opaque to me.  I am not sure what it means is allowed or
disallowed, or how things would work in the presence of casts.

Reply via email to