[cfe-dev] [PATCH] New syntax and functionality for __has_attribute
aaron at aaronballman.com
Sun Jan 12 16:49:21 PST 2014
On Sun, Jan 12, 2014 at 7:38 PM, Sean Silva <silvas at purdue.edu> wrote:
> On Sun, Jan 12, 2014 at 6:53 PM, Aaron Ballman <aaron at aaronballman.com>
>> > That's good news -- thanks for confirming.
>> > The feature detection macro itself will still need to have a different
>> > name
>> > (or some other mechanism) so it can be used compatibly with existing
>> > clang
>> > deployments, because _has_attribute() currently emits a parse error
>> > instead
>> > of gracefully returning 0 when passed the new argument syntax:
>> > tmp/attr2.cpp:1:5: error: builtin feature check macro requires a
>> > parenthesized identifier
>> > #if __has_attribute(__attribute__((weakref)))
>> > ^
>> Good catch. Unfortunately, __has_attribute is really the best
>> identifier for the macro, so I am loathe to let it go.
>> Due to the current design of __has_attribute, we can't get away with "
>> magic" by expanding the non-function-like form into a value that could
>> be tested. So we would really have to pick a new name if we are
>> worried about this.
>> Suggestions on the name are welcome.
> Ok, I'll bite:
I kind of like __has_attribute_syntax, truth be told.
Thank you for the suggestions!
More information about the cfe-dev