Author: Nikolas Klauser Date: 2023-05-11T11:54:46-07:00 New Revision: b09fad7f8e9ce5b88fb467be012ea379efa3659d
URL: https://github.com/llvm/llvm-project/commit/b09fad7f8e9ce5b88fb467be012ea379efa3659d DIFF: https://github.com/llvm/llvm-project/commit/b09fad7f8e9ce5b88fb467be012ea379efa3659d.diff LOG: [clang] Document extensions from later standards Reviewed By: aaron.ballman Spies: H-G-Hristov, cfe-commits Differential Revision: https://reviews.llvm.org/D150321 Added: Modified: clang/docs/LanguageExtensions.rst Removed: ################################################################################ diff --git a/clang/docs/LanguageExtensions.rst b/clang/docs/LanguageExtensions.rst index ddd366b637e59..64ed3ae6ab907 100644 --- a/clang/docs/LanguageExtensions.rst +++ b/clang/docs/LanguageExtensions.rst @@ -1370,6 +1370,41 @@ For example, compiling code with ``-fmodules`` enables the use of Modules. 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 ===================== _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits