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

--- Comment #3 from H. Peter Anvin <hpa at zytor dot com> ---
It does indeed, I don't know why I missed it.  The only thing that I really see
as a problem with it is that it doesn't allow the assignment of endianness to
scalar pointers, e.g.:

uint32_t __attribute__((scalar_storage_order("big-endian"))) *blah;

blah = &foo.bar;    /* bigendian field in a structure */

The other thing that seems problematic to me (but this is a
quality-of-implementation issue, not a syntactic problem) is that it seems that
the endianness restrictions only apply on opposite-endian architectures.  This
makes programmer errors more likely.

Reply via email to