On 14 June 2018 at 20:08, Jonathan Wakely <jwak...@redhat.com> wrote:
>> Oops, indeed. But for gnu-attributes, surely we can decide whatever we
>> want about what's
>> valid and what's not?
>
>
> We could say that #defining 'nonnull' and/or 'gnu' as a macro is
> undefined, but then programs that the standard says are valid would
> fail to compile, and we'd be a non-conforming implementation.
>
> We can use __attribute__(__nonnull__)) so that we accept those
> programs (and be a conforming implementation). Why would we choose to
> be non-conforming when we don't have to?

I can read the specification liberally enough that it might give us
the freedom to disallow programs
that #define names that our implementation uses for vendor attributes.

Reply via email to