cjdb created this revision.
cjdb added reviewers: aaron.ballman, erichkeane, shafik.
Herald added a project: All.
cjdb requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

Depends on D149492 <https://reviews.llvm.org/D149492>.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D149618

Files:
  clang/docs/LanguageExtensions.rst


Index: clang/docs/LanguageExtensions.rst
===================================================================
--- clang/docs/LanguageExtensions.rst
+++ clang/docs/LanguageExtensions.rst
@@ -1398,6 +1398,9 @@
 ``__X(...)`` has the same semantics and constraints as the corresponding
 ``std::X_t<...>`` or ``std::X_v<...>`` type trait.
 
+* ``__add_lvalue_reference(type)`` (C++)
+* ``__add_pointer(type)`` (C++)
+* ``__add_rvalue_reference(type)`` (C++)
 * ``__array_rank(type)`` (Embarcadero):
   Returns the number of levels of array in the type ``type``:
   ``0`` if ``type`` is not an array type, and
@@ -1409,6 +1412,7 @@
   Returns whether a class can be passed in registers under the current
   ABI. This type can only be applied to unqualified class types.
   This is not a portable type trait.
+* ``__decay(type)`` (C++)
 * ``__has_nothrow_assign`` (GNU, Microsoft, Embarcadero):
   Deprecated, use ``__is_nothrow_assignable`` instead.
 * ``__has_nothrow_move_assign`` (GNU, Microsoft):
@@ -1517,12 +1521,23 @@
   enumeration types if the underlying type was unsigned.
 * ``__is_void`` (C++, Embarcadero)
 * ``__is_volatile`` (C++, Embarcadero)
+* ``__make_signed(type)`` (C++)
+* ``__make_unsigned(type)`` (C++)
 * ``__reference_binds_to_temporary(T, U)`` (Clang):  Determines whether a
   reference of type ``T`` bound to an expression of type ``U`` would bind to a
   materialized temporary object. If ``T`` is not a reference type the result
   is false. Note this trait will also return false when the initialization of
   ``T`` from ``U`` is ill-formed.
-* ``__underlying_type`` (C++, GNU, Microsoft)
+* ``__remove_all_extents(type)`` (C++)
+* ``__remove_const(type)`` (C++)
+* ``__remove_cv(type)`` (C++)
+* ``__remove_cvref(type)`` (C++)
+* ``__remove_extent(type)`` (C++)
+* ``__remove_pointer(type)``(C++)
+* ``__remove_reference(type)`` (C++)
+* ``__remove_restrict(type)`` (C++)
+* ``__remove_volatile(type)`` (C++)
+* ``__underlying_type(type)`` (C++, GNU, Microsoft)
 
 In addition, the following expression traits are supported:
 


Index: clang/docs/LanguageExtensions.rst
===================================================================
--- clang/docs/LanguageExtensions.rst
+++ clang/docs/LanguageExtensions.rst
@@ -1398,6 +1398,9 @@
 ``__X(...)`` has the same semantics and constraints as the corresponding
 ``std::X_t<...>`` or ``std::X_v<...>`` type trait.
 
+* ``__add_lvalue_reference(type)`` (C++)
+* ``__add_pointer(type)`` (C++)
+* ``__add_rvalue_reference(type)`` (C++)
 * ``__array_rank(type)`` (Embarcadero):
   Returns the number of levels of array in the type ``type``:
   ``0`` if ``type`` is not an array type, and
@@ -1409,6 +1412,7 @@
   Returns whether a class can be passed in registers under the current
   ABI. This type can only be applied to unqualified class types.
   This is not a portable type trait.
+* ``__decay(type)`` (C++)
 * ``__has_nothrow_assign`` (GNU, Microsoft, Embarcadero):
   Deprecated, use ``__is_nothrow_assignable`` instead.
 * ``__has_nothrow_move_assign`` (GNU, Microsoft):
@@ -1517,12 +1521,23 @@
   enumeration types if the underlying type was unsigned.
 * ``__is_void`` (C++, Embarcadero)
 * ``__is_volatile`` (C++, Embarcadero)
+* ``__make_signed(type)`` (C++)
+* ``__make_unsigned(type)`` (C++)
 * ``__reference_binds_to_temporary(T, U)`` (Clang):  Determines whether a
   reference of type ``T`` bound to an expression of type ``U`` would bind to a
   materialized temporary object. If ``T`` is not a reference type the result
   is false. Note this trait will also return false when the initialization of
   ``T`` from ``U`` is ill-formed.
-* ``__underlying_type`` (C++, GNU, Microsoft)
+* ``__remove_all_extents(type)`` (C++)
+* ``__remove_const(type)`` (C++)
+* ``__remove_cv(type)`` (C++)
+* ``__remove_cvref(type)`` (C++)
+* ``__remove_extent(type)`` (C++)
+* ``__remove_pointer(type)``(C++)
+* ``__remove_reference(type)`` (C++)
+* ``__remove_restrict(type)`` (C++)
+* ``__remove_volatile(type)`` (C++)
+* ``__underlying_type(type)`` (C++, GNU, Microsoft)
 
 In addition, the following expression traits are supported:
 
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to