Hello, Comparing the list of feature checks documented here [1], and the list of checks actually implemented here [2], I found that a few are undocumented. Below is a patch that adds documentation for them.
Thank you, Nate [1] http://clang.llvm.org/docs/LanguageExtensions.html#feature-checking-macros [2] http://clang.llvm.org/doxygen/PPMacroExpansion_8cpp_source.html#l01049 Index: docs/LanguageExtensions.rst =================================================================== --- docs/LanguageExtensions.rst (revision 275316) +++ docs/LanguageExtensions.rst (working copy) @@ -573,6 +573,12 @@ Use ``__has_feature(cxx_alignof)`` or ``__has_extension(cxx_alignof)`` to determine if support for the ``alignof`` keyword is enabled. +C++11 atomics +^^^^^^^^^^^^^ + +Use ``__has_feature(cxx_atomics)`` or ``__has_extension(cxx_atomics)`` to +determine if support for C++11 atomics is enabled. + C++11 attributes ^^^^^^^^^^^^^^^^ @@ -1002,6 +1008,7 @@ * ``__is_pod`` (GNU, Microsoft) * ``__is_polymorphic`` (GNU, Microsoft) * ``__is_union`` (GNU, Microsoft) +* ``__is_trivial`` (GNU, Microsoft) * ``__is_literal(type)``: Determines whether the given type is a literal type * ``__is_final``: Determines whether the given type is declared with a ``final`` class-virt-specifier. @@ -1017,6 +1024,12 @@ ``argtypes...`` such that no non-trivial functions are called as part of that initialization. This trait is required to implement the C++11 standard library. +* ``__is_trivially_copyable(type)``: Determines whether a value of type + ``type`` is trivially copyable. This trait is required to implement the C++11 + standard library. +* ``__is_standard_layout(type)``: Determines whether ``type`` is a + standard-layout type. This trait is required to implement the C++11 standard + library. * ``__is_destructible`` (MSVC 2013) * ``__is_nothrow_destructible`` (MSVC 2013) * ``__is_nothrow_assignable`` (MSVC 2013, clang) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits