[PATCH] D150321: [clang] Document extensions from later standards

Nikolas Klauser via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 11 11:55:05 PDT 2023


This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
philnik marked an inline comment as done.
Closed by commit rGb09fad7f8e9c: [clang] Document extensions from later standards (authored by philnik).

Changed prior to commit:
  https://reviews.llvm.org/D150321?vs=521375&id=521402#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D150321/new/

https://reviews.llvm.org/D150321

Files:
  clang/docs/LanguageExtensions.rst


Index: clang/docs/LanguageExtensions.rst
===================================================================
--- clang/docs/LanguageExtensions.rst
+++ clang/docs/LanguageExtensions.rst
@@ -1370,6 +1370,41 @@
 
 More information could be found `here <https://clang.llvm.org/docs/Modules.html>`_.
 
+Language Extensions Back-ported to Previous Standards
+=====================================================
+
+=================================== ================================ ============= ============= ==================================
+Feature                             Feature Test Macro               Introduced In Backported To Required Flags
+=================================== ================================ ============= ============= ==================================
+variadic templates                  __cpp_variadic_templates         C++11         C++03
+Alias templates                     __cpp_alias_templates            C++11         C++03
+Non-static data member initializers __cpp_nsdmi                      C++11         C++03
+Range-based ``for`` loop            __cpp_range_based_for            C++11         C++03
+RValue references                   __cpp_rvalue_references          C++11         C++03
+Attributes                          __cpp_attributes                 C++11         C++03         -fdouble-square-bracket-attributes
+variable templates                  __cpp_variable_templates         C++14         C++03
+Binary literals                     __cpp_binary_literals            C++14         C++03
+Relaxed constexpr                   __cpp_constexpr                  C++14         C++11
+``if constexpr``                    __cpp_if_constexpr               C++17         C++11
+fold expressions                    __cpp_fold_expressions           C++17         C++03
+Lambda capture of \*this by value   __cpp_capture_star_this          C++17         C++11
+Attributes on enums                 __cpp_enumerator_attributes      C++17         C++11
+Guaranteed copy elision             __cpp_guaranteed_copy_elision    C++17         C++03
+Hexadecimal floating literals       __cpp_hex_float                  C++17         C++03
+``inline`` variables                __cpp_inline_variables           C++17         C++03
+Attributes on namespaces            __cpp_namespace_attributes       C++17         C++11
+Structured bindings                 __cpp_structured_bindings        C++17         C++03
+template template arguments         __cpp_template_template_args     C++17         C++03
+``static operator[]``               __cpp_multidimensional_subscript C++20         C++03
+Designated initializers             __cpp_designated_initializers    C++20         C++03
+Conditional ``explicit``            __cpp_conditional_explicit       C++20         C++03
+``using enum``                      __cpp_using_enum                 C++20         C++03
+``if consteval``                    __cpp_if_consteval               C++23         C++20
+``static operator()``               __cpp_static_call_operator       C++23         C++03
+----------------------------------- -------------------------------- ------------- ------------- ----------------------------------
+Designated initializers                                              C99           C89
+=================================== ================================ ============= ============= ==================================
+
 Type Trait Primitives
 =====================
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D150321.521402.patch
Type: text/x-patch
Size: 3485 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230511/88e46ac1/attachment.bin>


More information about the cfe-commits mailing list