[PATCH] Add missing documentation for some feature checks
Nathan Ridge via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 13 22:16:44 PDT 2016
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)
More information about the cfe-commits
mailing list