> > Can I modify an existing struct to create an opposite endian variant? > > Eg. > > > > struct bar > > { > > > > int a; > > > > }; > > > > struct wibble > > { > > > > struct __attr_sso__ bar a; > > > > }; > > The compiler accepts it, but apparently discards the attribute silently, > which looks like a bug to me. Let me investigate.
This looks like an existing hole, the following is also silently accepted: struct S1 { int i; }; struct S2 { struct __attribute__((unknown_attribute)) S1 s1; }; -- Eric Botcazou