On Fri, May 30, 2014 at 8:41 PM, Ed Smith-Rowland <3dw...@verizon.net> wrote: > A group within the C++ standards committee was charged with the > responibility of coming up with a way for users to test a C++ compiler and > runtime for the availability of new features. These features are intended > to aid users in a time of intense C++ evolution. These features are not > really part of the C++ standard and probably can't be really. > > The latest paper is: > http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4030.htm > > Also, an earlier version is supplied as a standing document on the isocpp > website: > https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations > > The current patch implements __has_include and many of the language feature > and library version macros outlined in these documents. > > I builds and tests clean on x86_64-linux. > > I anticipate that the next C++ meeting will see some additions (new library > and language macros and a __has_cpp_attribute). I will add these as a > separate patch if needed. > > I took the liberty of adding __has_include_next. clang has both > __has_include and __has_include_next. Also, while the underlying cpp > builtin that supports __has_include, __has_include__, is available to C and > C++ in all language versions, the macro __has_include is only available for > C++11 onwards. One could however anticipate that this feature has utility > for all C/C++ users. What do you think?
I think having __has_include for all languages is fine since it is already in the implementation defined namespace. Thanks, Andrew > > Ed >