__has_attribute and pragmas

Richard Smith richard at metafoo.co.uk
Thu Nov 20 15:27:40 PST 2014

On Thu, Nov 20, 2014 at 1:38 PM, Aaron Ballman <aaron at aaronballman.com>

> The __has_attribute implementation does not pay attention to the
> syntax supported by attributes -- instead, it looks to see whether an
> attribute is generally known with that spelling. Since pragmas can now
> be spelled as attributes, this means __has_attribute(loop) returns
> true because of the #pragma loop functionality. Same for unroll.
> Should __has_attribute ignore attributes spelled with a #pragma spelling?

I would go further: __has_attribute should probably only look for
GNU-syntax attributes. We have __has_cpp_attribute for C++-syntax
attributes now, and I don't think anyone is (yet) using this for
__declspec, so now seems like a good time to make this change.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20141120/aeb9c4f1/attachment.html>

More information about the cfe-commits mailing list