On 14 June 2018 at 19:57, Jonathan Wakely <jwak...@redhat.com> wrote: >> [macro.names]/2 forbids #defining macros with the same names as the >> standard attributes. >> The programs Martin shows as examples are not valid. > > > But nonnull isn't a standard attribute though. So we can't use > [[gnu::xxx]] attributes in libstdc++ and have to use __attribute__ > instead.
Oops, indeed. But for gnu-attributes, surely we can decide whatever we want about what's valid and what's not?