[clang] 09841d7 - Add WG14 N2607 to the list of backported features
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Mon May 22 05:16:42 PDT 2023
Author: Aaron Ballman
Date: 2023-05-22T08:16:32-04:00
New Revision: 09841d792f47310cf582156b92ffd9fa232853d6
URL: https://github.com/llvm/llvm-project/commit/09841d792f47310cf582156b92ffd9fa232853d6
DIFF: https://github.com/llvm/llvm-project/commit/09841d792f47310cf582156b92ffd9fa232853d6.diff
LOG: Add WG14 N2607 to the list of backported features
Arrays and their element types are identically qualified as of C2x,
and we support that behavior as far back as C89.
As a drive-by, this adds the paper number for designated initializers
so that all the WG14 features can be uniquely identified despite the
lack of a feature testing macro.
Added:
Modified:
clang/docs/LanguageExtensions.rst
Removed:
################################################################################
diff --git a/clang/docs/LanguageExtensions.rst b/clang/docs/LanguageExtensions.rst
index 5b186c4f81774..d881568b13994 100644
--- a/clang/docs/LanguageExtensions.rst
+++ b/clang/docs/LanguageExtensions.rst
@@ -1373,37 +1373,38 @@ 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
-=================================== ================================ ============= ============= ==================================
+====================================== ================================ ============= ============= ==================================
+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 (N494) C99 C89
+Array & element qualification (N2607) C2x C89
+====================================== ================================ ============= ============= ==================================
Type Trait Primitives
=====================
More information about the cfe-commits
mailing list