[cfe-dev] [PATCH] New syntax and functionality for __has_attribute
alp at nuanti.com
Sun Jan 12 17:40:37 PST 2014
On 12/01/2014 23:57, Aaron Ballman wrote:
> Also, as I mentioned above, the same argument could be made for any of
> the feature test macros. Saying "but there's documentation" is not a
> compelling argument to me.
The point Aaron makes here is significant.
The reality goes even further: feature detection macros are little more
than "fun" opportunistic features intended to save the hassle of a
configure-time feature check. Many of your criticisms are valid and
apply to other detection macros but that doesn't stop them being useful
in a lot of trivial use cases.
Serious projects* with an expectation of full-featured portability and
guarantees that a given language construct works as intended shouldn't
be using these macros in the first place.
So I'd suggest getting the recommended usage documented as a resolution.
* LLVM's Compiler.h is an exception because it's biased and optimizes
for bootstrap clang builds. Much of Compiler.h was simply disabled in
non-clang builds until very recently without anyone noticing.
the browser experts
More information about the cfe-dev