[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