diff --git a/features_c11.yaml b/features_c11.yaml index df477ab..820b5f8 100644 --- a/features_c11.yaml +++ b/features_c11.yaml @@ -18,6 +18,7 @@ features: - MSVC 14.27 - Xcode 16.1 - TinyCC + - R++ 2021.3 - desc: "Anonymous structures and unions" paper: N1444 content: c-anonymous-struct-union.md @@ -34,6 +35,7 @@ features: - Clang 3.3 - MSVC 14.27 - Xcode 16.1 + - R++ - desc: "Atomic operations (`_Atomic`, ``)" paper: N1485 content: c-atomic.md diff --git a/features_c23.yaml b/features_c23.yaml index 703eb9e..d779496 100644 --- a/features_c23.yaml +++ b/features_c23.yaml @@ -7,6 +7,7 @@ features: - Clang 9 - MSVC - Xcode 11.4 + - R++ - desc: "`[[nodiscard]]`" paper: N2267 summary: "Marks a return value that should not be ignored." @@ -14,6 +15,7 @@ features: - GCC 10 - Clang 9 - Xcode 11.4 + - R++ content: c-nodiscard.md - desc: "`[[maybe_unused]]`" paper: N2270 @@ -21,12 +23,14 @@ features: - GCC 10 - Clang 9 - Xcode 11.4 + - R++ - desc: "`[[deprecated]]`" paper: N2334 support: - GCC 10 - Clang 9 - Xcode 11.4 + - R++ - desc: "[Attributes](https://cppreference.com/c/language/attributes)" paper: - N2335 @@ -36,23 +40,27 @@ features: - GCC 10 - Clang 9 - Xcode 11.4 + - R++ - desc: "IEEE 754 decimal floating-point types" paper: N2341 support: - GCC 4.2 (partial) - GCC 12 + - R++ 2025.2 - desc: "`[[fallthrough]]`" paper: N2408 support: - GCC 10 - Clang 9 - Xcode 11.4 + - R++ - desc: "[u8 character constants](https://cppreference.com/c/language/character_constant)" paper: N2418 support: - GCC 10 - Clang 15 - Xcode 15 + - R++ - desc: "Removal of [function definitions](https://cppreference.com/c/language/function_definition) without prototype" paper: N2432 support: @@ -65,12 +73,14 @@ features: - GCC 11 - Clang 10 - Xcode 14 + - R++ - desc: "Unnamed parameters in function definitions" paper: N2480 support: - GCC 11 - Clang 11 - Xcode 13 + - R++ - desc: "[Labels](https://cppreference.com/c/language/statements#Labels) before declarations and end of blocks" paper: N2508 support: @@ -81,6 +91,10 @@ features: - Clang 18 - MSVC (partial) - Xcode 15 + - tool: R++ + status: partial + issue: RSCPP-33733 + note: "Only a label at the end of a block is confirmed." - desc: "[Binary integer constants](https://cppreference.com/c/language/integer_constant)" paper: N2549 content: c-binary-literals.md @@ -98,18 +112,21 @@ features: - Xcode 16.3 - owcc - TinyCC + - R++ - desc: "[__has_c_attribute](https://cppreference.com/c/language/attributes#Attribute_testing) in preprocessor conditionals" paper: N2553 support: - GCC 11 - Clang 9 - Xcode 11.4 + - R++ 2024.2 - desc: "Allow duplicate attributes" paper: N2557 support: - GCC 11 - Clang 13 - Xcode 11.4 + - R++ - desc: "IEEE 754 interchange and extended types" paper: N2601 support: @@ -137,6 +154,7 @@ features: - tool: MSVC 14.0 note: "Supported as an extension." - Xcode 13.4 + - R++ - desc: "[`#elifdef` and `#elifndef`](https://cppreference.com/c/preprocessor/conditional)" paper: N2645 content: c-elifdef.md @@ -145,11 +163,13 @@ features: - Clang 13 - MSVC 14.40 - Xcode 13.3 + - R++ 2024.2 - desc: "Type change of [u8 string literals](https://cppreference.com/c/language/string_literal) to `char8_t[]`" paper: N2653 support: - GCC 13 - Clang 19 + - R++ - desc: "`[[maybe_unused]]` for labels" paper: N2662 support: @@ -164,6 +184,7 @@ features: - Xcode 16.1 - owcc - TinyCC + - R++ 2023.2 - desc: "Bit-precise integer types (`_BitInt`)" paper: N2763 content: c-bitint.md @@ -173,12 +194,14 @@ features: note: "Only supported on IA-32, x86-64 and AArch64 LE." - Clang 15 - Xcode 15 + - R++ 2025.2 - desc: "`[[noreturn]]`" paper: N2764 support: - GCC 13 - Clang 15 - Xcode 15 + - R++ - desc: "Suffixes for bit-precise integer constants" paper: N2775 support: @@ -200,6 +223,7 @@ features: - MSVC 14.11 - Xcode - TinyCC + - R++ - desc: "Identifier Syntax using Unicode Standard Annex 31" paper: N2836 support: @@ -237,6 +261,7 @@ features: - tool: Xcode status: partial note: "Supported as an extension. Only typeof (and `__typeof__` in strict modes) supported." + - R++ 2024.3 - desc: "New spelling of keywords" paper: N2934 support: @@ -275,6 +300,7 @@ features: - GCC 15 - Clang 19 - Xcode 26 + - R++ 2026.1 - desc: "`constexpr` objects" paper: N3018 content: c-constexpr.md @@ -306,6 +332,7 @@ features: - Clang 12 (partial) - MSVC 14.39 - Xcode 14 + - R++ 2023.1 - desc: "Improved tag compatibility" paper: N3037 support: diff --git a/features_c2y.yaml b/features_c2y.yaml index 94730cf..e39f47a 100644 --- a/features_c2y.yaml +++ b/features_c2y.yaml @@ -187,6 +187,7 @@ features: - GCC 16 - Clang 21 - Xcode 26.4 + - R++ 2026.1 - desc: "Restartable Functions for Efficient Character Conversions" paper: N3366 @@ -242,6 +243,7 @@ features: - Clang 22 - tool: Xcode 16.3 note: "Supported as a pre-existing GNU extension prior to C2y standardization." + - R++ - desc: "Complex operators" paper: N3460 diff --git a/features_c99.yaml b/features_c99.yaml index eba2dfc..ba6114d 100644 --- a/features_c99.yaml +++ b/features_c99.yaml @@ -42,6 +42,7 @@ features: status: partial note: "`parsed with -zastd=c99 (for wcc*), but does not change the code." - TinyCC + - R++ - desc: "Enhanced [arithmetic types](https://cppreference.com/c/language/arithmetic_types)" paper: - N815 @@ -55,6 +56,7 @@ features: - GCC - Clang (partial) - Xcode (partial) + - R++ - desc: "Flexible array members" content: c-flexible-array.md support: @@ -63,6 +65,7 @@ features: - Xcode - owcc - TinyCC + - R++ - desc: "[Variable-length array](https://cppreference.com/c/language/array#Variable-length_arrays) (VLA) types" paper: N683 content: c-vla.md @@ -124,6 +127,7 @@ features: - Xcode - owcc - TinyCC + - R++ - desc: "[Compound literals](https://cppreference.com/c/language/compound_literal)" paper: N716 content: c-compound-literals.md @@ -132,6 +136,7 @@ features: - Clang - MSVC - Xcode 14 + - R++ - desc: "Floating-point environment" summary: "Runtime access to the floating-point environment." support: @@ -198,12 +203,14 @@ features: - Xcode 14 - owcc 1.2 - TinyCC + - R++ - desc: "Cvr-qualifiers and `static` in `[]` within function declarations" summary: "Qualifiers and `static` array sizes in function parameters." support: - GCC 3.1 - Clang - Xcode + - R++ 2024.1 content: c-array-parameter-qualifiers.md - desc: "[Variadic macros](https://cppreference.com/c/preprocessor/replace)" paper: N707 @@ -215,6 +222,7 @@ features: - Xcode 14 - owcc - TinyCC + - R++ - desc: "`_Pragma` preprocessor operator" summary: "Emits a pragma from within a macro expansion." paper: N634 @@ -226,6 +234,7 @@ features: note: "Requires /std:c11 or later." - Xcode 14 - owcc + - R++ content: c-pragma-operator.md - desc: "Standard pragmas for floating-point evaluation" summary: "Standard `STDC` pragmas controlling floating-point code generation." diff --git a/features_cpp11.yaml b/features_cpp11.yaml index fe67984..7026358 100644 --- a/features_cpp11.yaml +++ b/features_cpp11.yaml @@ -10,6 +10,7 @@ features: note: "Buggy variadic macros." - MSVC 14.26 - Xcode + - R++ - desc: "`static_assert`" paper: N1720 @@ -18,6 +19,7 @@ features: - Clang 2.9 - MSVC 10.0 - Xcode + - R++ ftm: - name: __cpp_static_assert value: 200410L @@ -29,6 +31,7 @@ features: - Clang - MSVC 8.0 - Xcode + - R++ - desc: "Extended `friend` declarations" paper: N1791 @@ -37,6 +40,7 @@ features: - Clang 2.9 - MSVC 10.0 - Xcode + - R++ - desc: "[`long long`](https://cppreference.com/cpp/language/types#long_long)" paper: N1811 @@ -45,6 +49,7 @@ features: - Clang - MSVC 8.0 - Xcode + - R++ - desc: "[`auto`](https://cppreference.com/cpp/language/auto)" paper: N1984 @@ -54,6 +59,7 @@ features: - Clang - MSVC 10.0 - Xcode + - R++ - desc: "[Delegating constructors](https://cppreference.com/cpp/language/initializer_list#Delegating_constructor)" paper: N1986 @@ -62,6 +68,7 @@ features: - Clang 3 - MSVC 12.0 - Xcode + - R++ ftm: - name: __cpp_delegating_constructors value: 200604L @@ -73,6 +80,7 @@ features: - Clang - MSVC 6.0 - Xcode + - R++ - desc: "`constexpr`" paper: N2235 @@ -82,6 +90,7 @@ features: - Clang 3.1 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_constexpr value: 200704L @@ -93,6 +102,7 @@ features: - Clang 2.9 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_unicode_characters value: 200704L @@ -111,6 +121,7 @@ features: - MSVC 8.0 (partial) - MSVC 14.0 - Xcode + - R++ - desc: "[Template aliases](https://cppreference.com/cpp/language/type_alias)" paper: N2258 @@ -120,6 +131,7 @@ features: - Clang 3 - MSVC 12.0 - Xcode + - R++ ftm: - name: __cpp_alias_templates value: 200704L @@ -131,6 +143,7 @@ features: - Clang 3 - MSVC 14.0 - Xcode + - R++ - desc: "`alignof`" paper: N2341 @@ -139,6 +152,7 @@ features: - Clang 2.9 - MSVC 14.0 - Xcode + - R++ - desc: "Defaulted and deleted functions" paper: N2346 @@ -147,6 +161,7 @@ features: - Clang 3 - MSVC 12.0 - Xcode + - R++ - desc: "[Strongly-typed `enum`](https://cppreference.com/cpp/language/enum#Scoped_enumerations)" paper: N2347 @@ -156,6 +171,7 @@ features: - Clang 2.9 - MSVC 11.0 - Xcode + - R++ - desc: "[Atomic operations](https://cppreference.com/cpp/atomic#Atomic_operations)" paper: N2427 @@ -164,6 +180,7 @@ features: - Clang 3.1 - MSVC 11.0 - Xcode + - R++ - desc: "`nullptr`" paper: N2431 @@ -173,6 +190,7 @@ features: - Clang 2.9 - MSVC 10.0 - Xcode + - R++ - desc: "Explicit [conversion operators](https://cppreference.com/cpp/language/cast_operator)" paper: N2437 @@ -181,6 +199,7 @@ features: - Clang 3 - MSVC 12.0 - Xcode + - R++ - desc: "Ref-qualifiers" paper: N2439 @@ -189,6 +208,7 @@ features: - Clang 2.9 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_ref_qualifiers value: 200710L @@ -200,6 +220,7 @@ features: - Clang 3 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_unicode_literals value: 200710L @@ -211,6 +232,7 @@ features: - Clang - MSVC 12.0 - Xcode + - R++ ftm: - name: __cpp_raw_strings value: 200710L @@ -222,6 +244,7 @@ features: - Clang 2.9 - MSVC 14.0 - Xcode + - R++ - desc: "[Inheriting constructors](https://cppreference.com/cpp/language/using_declaration#Inheriting_constructors)" paper: N2540 @@ -230,6 +253,7 @@ features: - Clang 3.3 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_inheriting_constructors value: 200802L @@ -241,6 +265,7 @@ features: - Clang 2.9 - MSVC 10.0 - Xcode + - R++ - desc: "Unrestricted [unions](https://cppreference.com/cpp/language/union)" paper: N2544 @@ -249,6 +274,7 @@ features: - Clang 3 - MSVC 14.0 - Xcode + - R++ - desc: "[Variadic templates](https://cppreference.com/cpp/language/parameter_pack)" paper: [N2242, N2555] @@ -258,6 +284,7 @@ features: - Clang 2.9 - MSVC 12.0 - Xcode + - R++ ftm: - name: __cpp_variadic_templates value: 200704L @@ -269,6 +296,7 @@ features: - Clang 2.9 - MSVC 14.14 - Xcode + - R++ - desc: "Local and unnamed types as template parameters" paper: N2657 @@ -277,6 +305,7 @@ features: - Clang 2.9 - MSVC 10.0 - Xcode + - R++ - desc: "[Thread-local storage](https://cppreference.com/cpp/language/storage_duration)" paper: N2659 @@ -288,6 +317,7 @@ features: - MSVC 10.0 (partial) - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_threadsafe_static_init value: 200806L @@ -299,6 +329,7 @@ features: - Clang 2.9 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_threadsafe_static_init value: 200806L @@ -311,6 +342,7 @@ features: - Clang 3.1 - MSVC 12.0 - Xcode + - R++ ftm: - name: __cpp_initializer_lists value: 200806L @@ -322,6 +354,7 @@ features: - Clang 3 - MSVC 12.0 - Xcode + - R++ ftm: - name: __cpp_nsdmi value: 200809L @@ -333,6 +366,7 @@ features: - Clang 3.3 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_attributes value: 200809L @@ -341,7 +375,11 @@ features: - desc: "`[[carries_dependency]]`" paper: [N2556, N2643] - support: [Clang 3.3, Xcode] + support: + - Clang 3.3 + - Xcode + - tool: R++ + status: unsupported ftm: - name: __has_cpp_attribute(carries_dependency) value: 200809L @@ -353,6 +391,7 @@ features: - Clang 3.1 - MSVC 11.0 - Xcode + - R++ - desc: "[User-defined literals](https://cppreference.com/cpp/language/user_literal)" paper: N2765 @@ -361,6 +400,7 @@ features: - Clang 3.1 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_user_defined_literals value: 200809L @@ -375,6 +415,7 @@ features: - MSVC 10.0 (partial) - MSVC 11.0 - Xcode + - R++ ftm: - name: __cpp_rvalue_references value: 200610L @@ -388,6 +429,7 @@ features: - MSVC 10.0 (partial) - MSVC 11.0 - Xcode + - R++ ftm: - name: __cpp_lambdas value: 200907L @@ -400,6 +442,7 @@ features: - Clang 3 - MSVC 11.0 - Xcode + - R++ ftm: - name: __cpp_range_based_for value: 200907L @@ -412,6 +455,7 @@ features: - Clang 3 - MSVC 14.0 - Xcode + - R++ - desc: "Defaulted move [special member functions](https://cppreference.com/cpp/language/member_functions#Special_member_functions)" paper: N3053 @@ -421,6 +465,7 @@ features: - Clang 3 - MSVC 14.0 - Xcode + - R++ - desc: "`override` and `final`" paper: [N2928, N3206, N3272] @@ -431,6 +476,7 @@ features: - MSVC 8.0 (partial) - MSVC 11.0 - Xcode + - R++ - desc: "`decltype`" paper: [N2343, N3276] @@ -442,6 +488,7 @@ features: - MSVC 10.0 (partial) - MSVC 11.0 - Xcode + - R++ ftm: - name: __cpp_decltype value: 200707L diff --git a/features_cpp14.yaml b/features_cpp14.yaml index b99c7a0..18de3b6 100644 --- a/features_cpp14.yaml +++ b/features_cpp14.yaml @@ -7,6 +7,7 @@ features: - Clang 3.4 - MSVC 12.0 - Xcode + - R++ - desc: "[Binary literals](https://cppreference.com/cpp/language/integer_literal)" paper: N3472 @@ -16,6 +17,7 @@ features: - Clang 2.9 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_binary_literals value: 201304L @@ -33,6 +35,7 @@ features: - Clang 3.4 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_decltype_auto value: 201304L @@ -47,6 +50,7 @@ features: - Clang 3.4 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_init_captures value: 201304L @@ -59,6 +63,7 @@ features: - Clang 3.4 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_generic_lambdas value: 201304L @@ -71,6 +76,7 @@ features: - Clang 3.4 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_variable_templates value: 201304L @@ -83,6 +89,7 @@ features: - Clang 3.4 - MSVC 14.10 - Xcode + - R++ ftm: - name: __cpp_constexpr value: 201304L @@ -94,13 +101,14 @@ features: - Clang 3.3 - MSVC 14.10 - Xcode + - R++ ftm: - name: __cpp_aggregate_nsdmi value: 201304L - desc: "Omitting/extending [memory allocations](https://cppreference.com/cpp/language/new#Allocation)" paper: N3664 - support: [Clang 3.4, Xcode] + support: [Clang 3.4, Xcode, R++] - desc: "`[[deprecated]]` attribute" paper: N3760 @@ -109,6 +117,7 @@ features: - Clang 3.4 - MSVC 14.0 - Xcode + - R++ ftm: - name: __has_cpp_attribute(deprecated) value: 201309L @@ -120,6 +129,7 @@ features: - Clang 3.4 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_sized_deallocation value: 201309L @@ -131,6 +141,7 @@ features: - Clang 3.4 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_digit_separators value: 201309L diff --git a/features_cpp17.yaml b/features_cpp17.yaml index 21dcb77..74613bc 100644 --- a/features_cpp17.yaml +++ b/features_cpp17.yaml @@ -7,6 +7,7 @@ features: - Clang 3.8 - MSVC 14.0 - Xcode + - R++ - desc: "Allow `typename` in a template template parameter" paper: N4051 @@ -15,6 +16,7 @@ features: - Clang 3.5 - MSVC 14.0 - Xcode + - R++ - desc: "Removing trigraphs??!" paper: N4086 @@ -23,6 +25,7 @@ features: - Clang 3.5 - MSVC 10.0 - Xcode + - R++ - desc: "Nested `namespace` definition" paper: N4230 @@ -32,6 +35,7 @@ features: - Clang 3.6 - MSVC 14.0 - Xcode + - R++ content: nested-namespaces.md - desc: "Extending `static_assert`, v2" @@ -41,6 +45,7 @@ features: - Clang 2.5 - MSVC 14.10 - Xcode + - R++ ftm: - name: __cpp_static_assert value: 201411L @@ -56,6 +61,7 @@ features: - Clang 3.6 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_enumerator_attributes value: 201411L @@ -71,6 +77,7 @@ features: - Clang 3.6 - MSVC 14.0 - Xcode + - R++ ftm: - name: __cpp_nontype_template_args value: 201411L @@ -99,6 +106,7 @@ features: - Clang 3.8 - MSVC 14.11 - Xcode + - R++ - desc: "Remove deprecated `operator++(bool)`" paper: P0002 @@ -107,6 +115,7 @@ features: - Clang 3.8 - MSVC 14.11 - Xcode + - R++ - desc: "Make exception specifications be part of the type system" paper: P0012 @@ -115,6 +124,7 @@ features: - Clang 4 - MSVC 14.12 - Xcode + - R++ ftm: - name: __cpp_noexcept_function_type value: 201510L @@ -127,6 +137,7 @@ features: - Clang - MSVC 14.11 - Xcode + - R++ - desc: "Rewording inheriting constructors" paper: P0136 @@ -136,6 +147,8 @@ features: - tool: MSVC 14.14 note: "Not supported in C++14 mode." - Xcode + - tool: R++ + status: unsupported ftm: - name: __cpp_inheriting_constructors value: 201511L @@ -147,6 +160,7 @@ features: - Clang 3.9 - MSVC 14.14 - Xcode + - R++ ftm: - name: __cpp_aggregate_bases value: 201603L @@ -160,6 +174,7 @@ features: - Clang 3.6 - MSVC 14.12 - Xcode + - R++ ftm: - name: __cpp_fold_expressions value: 201603L @@ -172,6 +187,7 @@ features: - Clang 3.9 - MSVC 14.11 - Xcode + - R++ - desc: "Construction rules for `enum class` values" paper: P0138 @@ -180,6 +196,7 @@ features: - Clang 3.9 - MSVC 14.11 - Xcode + - R++ - desc: "`constexpr` lambdas" paper: P0170 @@ -189,6 +206,7 @@ features: - Clang 5 - MSVC 14.11 - Xcode + - R++ ftm: - name: __cpp_constexpr value: 201603L @@ -200,6 +218,7 @@ features: - Clang 3.9 - MSVC 14.10 - Xcode + - R++ ftm: - name: __cpp_range_based_for value: 201603L @@ -212,6 +231,7 @@ features: - Clang 3.9 - MSVC 14.10 - Xcode + - R++ - desc: "Attribute `[[nodiscard]]`" paper: P0189 @@ -221,6 +241,7 @@ features: - Clang 3.9 - MSVC 14.11 - Xcode + - R++ - desc: "Attribute `[[maybe_unused]]`" paper: P0212 @@ -230,6 +251,7 @@ features: - Clang 3.9 - MSVC 14.11 - Xcode + - R++ - desc: "Hexadecimal floating literals" paper: P0245 @@ -238,6 +260,7 @@ features: - Clang - MSVC 14.11 - Xcode + - R++ ftm: - name: __cpp_hex_float value: 201603L @@ -249,6 +272,7 @@ features: - Clang 3.9 - MSVC 14.11 - Xcode + - R++ - desc: "Dynamic memory allocation for over-aligned data" paper: P0035 @@ -257,6 +281,7 @@ features: - Clang 4 - MSVC 14.12 - Xcode 10 + - R++ ftm: - name: __cpp_aligned_new value: 201606L @@ -269,6 +294,7 @@ features: - Clang 4 - MSVC 14.14 - Xcode + - R++ ftm: - name: __cpp_nontype_template_parameter_auto value: 201606L @@ -282,6 +308,7 @@ features: - Clang 4 - MSVC 14.13 - Xcode + - R++ ftm: - name: __cpp_guaranteed_copy_elision value: 201606L @@ -293,6 +320,7 @@ features: - Clang 6 - MSVC 14.14 - Xcode + - R++ - desc: "Refining expression evaluation order for idiomatic C++" paper: P0145 @@ -301,6 +329,7 @@ features: - Clang 4 - MSVC 14.14 - Xcode + - R++ - desc: "Proposed wording for structured bindings" paper: P0217 @@ -311,6 +340,7 @@ features: - Clang 4 - MSVC 14.11 - Xcode + - R++ ftm: - name: __cpp_structured_bindings value: 201606L @@ -322,6 +352,7 @@ features: - Clang 3.9 - MSVC 14.0 - Xcode + - R++ - desc: "`constexpr if` statements" paper: P0292 @@ -332,6 +363,7 @@ features: - Clang 3.9 - MSVC 14.11 - Xcode + - R++ ftm: - name: __cpp_if_constexpr value: 201606L @@ -344,6 +376,7 @@ features: - Clang 3.9 - MSVC 14.11 - Xcode + - R++ - desc: "`inline` variables" paper: P0386 @@ -354,6 +387,7 @@ features: - Clang 3.9 - MSVC 14.12 - Xcode + - R++ ftm: - name: __cpp_inline_variables value: 201606L @@ -365,6 +399,7 @@ features: - Clang 4 - MSVC 14.12 - Xcode + - R++ - desc: "Pack expansions in `using`-declarations" paper: P0195 @@ -373,6 +408,7 @@ features: - Clang 4 - MSVC 14.14 - Xcode + - R++ ftm: - name: __cpp_variadic_using value: 201611L @@ -384,6 +420,9 @@ features: - Clang 4 - MSVC 14.12 - Xcode + - tool: R++ + status: unsupported + issue: RSCPP-25151 ftm: - name: __cpp_template_template_args value: 201611L @@ -397,6 +436,7 @@ features: - Clang 5 - MSVC 14.14 - Xcode + - R++ ftm: - name: __cpp_deduction_guides value: 201703L diff --git a/features_cpp20.yaml b/features_cpp20.yaml index 7788154..bf691c6 100644 --- a/features_cpp20.yaml +++ b/features_cpp20.yaml @@ -7,6 +7,7 @@ features: - Clang 6 - MSVC 14.25 - Xcode 10 + - R++ - desc: "`const&`-qualified pointers to members" paper: P0704 @@ -15,6 +16,7 @@ features: - Clang 6 - MSVC 14.0 - Xcode 10 + - R++ - desc: "Allow lambda capture `[=, this]`" paper: P0409 @@ -23,6 +25,7 @@ features: - Clang 6 - MSVC 14.22 - Xcode 10 + - R++ - desc: "`__VA_OPT__`" paper: [P0306, P1042] @@ -38,6 +41,7 @@ features: - Clang 9 - MSVC 14.25 - Xcode 12 + - R++ 2023.1 content: va-opt.md - desc: "Designated initializers" @@ -55,6 +59,7 @@ features: - Clang 10 - MSVC 14.21 - Xcode 12 + - R++ ftm: - name: __cpp_designated_initializers value: 201707L @@ -67,6 +72,7 @@ features: - Clang 9 - MSVC 14.22 - Xcode 11 + - R++ ftm: - name: __cpp_generic_lambdas value: 201707L @@ -78,6 +84,7 @@ features: - Clang 6 - MSVC 14.14 - Xcode + - R++ - desc: "Concepts" paper: P0734 @@ -93,6 +100,7 @@ features: - tool: Xcode 12 status: partial note: "The following papers are not implemented: [P2103](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2103r0.html), DR1496, DR1734 and [P0848](https://wg21.link/P0848)." + - R++ ftm: - name: __cpp_concepts value: 201907L @@ -129,10 +137,16 @@ features: - Clang 8 - MSVC 14.25 - Xcode 11 + - R++ - desc: "Simplifying implicit lambda capture" paper: P0588 - support: [GCC 8, MSVC 14.24] + support: + - GCC 8 + - MSVC 14.24 + - tool: R++ + status: unsupported + issue: RSCPP-31582 - desc: "ADL and function templates that are not visible" paper: P0846 @@ -141,6 +155,7 @@ features: - Clang 9 - MSVC 14.21 - Xcode 11.4 + - R++ - desc: "`const` mismatch with defaulted copy constructor" paper: P0641 @@ -149,6 +164,7 @@ features: - Clang 8 - MSVC 14.0 - Xcode 10.2 + - R++ - desc: "Specify when `constexpr` function definitions are needed for constant evaluation" paper: P0859 @@ -173,6 +189,7 @@ features: - Clang 10 - MSVC 14.20 - Xcode 12 + - R++ ftm: - name: __cpp_impl_three_way_comparison value: 201907L @@ -199,6 +216,7 @@ features: - MSVC 14.23 - Clang 16 - Xcode 12 + - R++ - desc: "Access checking on specializations" paper: P0692 @@ -208,6 +226,7 @@ features: - Clang 14 - MSVC 14.26 - Xcode 14 + - R++ - desc: "Default constructible and assignable stateless lambdas" paper: P0624 @@ -216,6 +235,7 @@ features: - Clang 8 - MSVC 14.22 - Xcode 10.2 + - R++ - desc: "Wording for lambdas in unevaluated contexts" paper: P0315 @@ -232,6 +252,7 @@ features: - tool: Xcode 13.4.1 status: partial note: "Not supported: [temp.deduct/9]" + - R++ - desc: "Transformation trait `std::remove_cvref`" paper: P0550 @@ -363,6 +384,7 @@ features: - Clang 9 - MSVC 14.28 - Xcode 11.4 + - R++ 2023.2 - desc: "Relaxing the range-`for` loop customization point finding rules" paper: P0962 @@ -371,6 +393,7 @@ features: - Clang 8 - MSVC 14.25 - Xcode 11 + - R++ - desc: "Allow structured bindings to accessible members" paper: P0969 @@ -379,6 +402,7 @@ features: - Clang 8 - MSVC 14.20 - Xcode 10.2 + - R++ - desc: "Relaxing the structured bindings customization point finding rules" paper: P0961 @@ -387,6 +411,7 @@ features: - Clang 8 - MSVC 14.20 - Xcode 10.2 + - R++ - desc: "Down with `typename`!" paper: P0634 @@ -395,6 +420,7 @@ features: - Clang 16 - MSVC 14.29 - Xcode 16 + - R++ 2025.2 - desc: "Pack-expansions in lambda init-captures" paper: P0780 @@ -404,6 +430,7 @@ features: - Clang 9 - MSVC 14.22 - Xcode 11.4 + - R++ ftm: - name: __cpp_init_captures value: 201803L @@ -417,6 +444,7 @@ features: - Clang 12 - MSVC 14.26 - Xcode 13 + - R++ - desc: "Symmetry for spaceship" paper: P0905 @@ -506,6 +534,9 @@ features: - Clang 7 - MSVC 14.22 - Xcode 10.2 + - tool: R++ + status: unsupported + issue: RSCPP-31582 keywords: - lambda @@ -518,6 +549,7 @@ features: - MSVC 14.28 - Xcode 13 (partial) - Xcode 16.3 + - R++ 2021.3 - desc: "Atomic compare-and-exchange with padding bits" paper: P0528 @@ -532,6 +564,8 @@ features: - Clang 6 - MSVC 14.27 - Xcode 10 + - tool: R++ + status: unsupported ftm: - name: __cpp_impl_destroying_delete value: 201806L @@ -557,6 +591,7 @@ features: - Clang 9 - MSVC 14.28 - Xcode 11.4 + - R++ 2021.3 ftm: - name: __cpp_constexpr value: 201907L @@ -570,6 +605,7 @@ features: - Clang 8 - MSVC 14.20 - Xcode 10.2 + - R++ - desc: "Consistency improvements for comparisons" paper: P1120 @@ -579,6 +615,8 @@ features: - Clang 10 - MSVC 14.22 - Xcode 12 + - tool: R++ + status: unsupported - desc: "Integrating feature-test macros" paper: P0941 @@ -588,6 +626,7 @@ features: - MSVC 14.15 (partial) - MSVC 14.20 - Xcode + - R++ - desc: "`explicit(bool)`" paper: P0892 @@ -597,6 +636,7 @@ features: - Clang 9 - MSVC 14.24 - Xcode 11.4 + - R++ ftm: - name: __cpp_conditional_explicit value: 201806L @@ -758,6 +798,7 @@ features: - Clang 8 - MSVC 14.25 - Xcode 10.2 + - R++ 2026.2 - desc: "`dynamic_cast` and polymorphic `typeid` in constant expressions" paper: P1327 @@ -766,6 +807,8 @@ features: - Clang 9 - MSVC 14.28 - Xcode 11.4 + - tool: R++ + status: unsupported - desc: "Signed integers are two's complement" paper: P1236 @@ -775,6 +818,7 @@ features: - Clang 9 - MSVC - Xcode 11.4 + - R++ - desc: "`char8_t`: A type for UTF-8 characters and strings" paper: P0482 @@ -785,6 +829,7 @@ features: - Clang 7 - MSVC 14.22 - Xcode 10 + - R++ ftm: - name: __cpp_char8_t value: 201811L @@ -811,6 +856,7 @@ features: - Clang 9 - MSVC 14.29 - Xcode + - R++ - desc: "Immediate functions (`consteval`)" paper: P1073 @@ -825,6 +871,7 @@ features: - MSVC 14.28 (partial) - MSVC 14.29 - Xcode 15 + - R++ ftm: - name: __cpp_consteval value: 201811L @@ -850,6 +897,7 @@ features: - MSVC 14.26 (partial) - MSVC 14.28 - Xcode 12.5 + - R++ - desc: "Nested inline namespaces" paper: P1094 @@ -858,6 +906,7 @@ features: - Clang 8 - MSVC 14.27 - Xcode 10.2 + - R++ - desc: "Changing the active member of a `union` inside `constexpr`" paper: P1330 @@ -866,6 +915,7 @@ features: - Clang 9 - MSVC 14.10 - Xcode 10.3 + - R++ ftm: - name: __cpp_constexpr value: 202002L @@ -1096,6 +1146,7 @@ features: - MSVC 14.11 - MSVC 14.24 - Xcode 16 + - R++ - desc: "Stronger Unicode requirements" paper: [P1041, P1139] @@ -1112,6 +1163,7 @@ features: - Clang 16 - MSVC 14.28 - Xcode 16 + - R++ ftm: - name: __cpp_aggregate_paren_init value: 201902L @@ -1123,6 +1175,7 @@ features: - Clang 9 - MSVC 14.27 - Xcode 11.4 + - R++ - desc: "Modules" paper: [P1103, P1703, P1766, P1779, P1811, P1815, P1857, P1874, P1979, P2115, P2615, P2788] @@ -1151,6 +1204,7 @@ features: - MSVC 14.28 - tool: Xcode 26 note: "Apple Clang requires the `-fcxx-modules` flag **in addition to** `-fmodules`.

Xcode 26 does not ship the `clang-scan-deps` utility that is required by certain build system generators like CMake, in order to scan module dependencies.
This means that C++ modules cannot be used in conjunction with CMake's Xcode generator (`-G Xcode`).\n" + - R++ ftm: - name: __cpp_modules value: 201907L @@ -1162,6 +1216,7 @@ features: - Clang 10 - MSVC 14.22 - Xcode 12 + - R++ - desc: "Coroutines" paper: [P0912, LWG3393] @@ -1179,6 +1234,7 @@ features: - MSVC 14.28 - Xcode 10.2 (partial) - Xcode 16.3 + - R++ ftm: - name: __cpp_impl_coroutine value: 201902L @@ -1272,6 +1328,9 @@ features: - Clang 9 - MSVC 14.25 - Xcode 11.4 + - tool: R++ + status: unsupported + issue: RSCPP-31583 - desc: "Permitting trivial default initialization in `constexpr` contexts" paper: P1331 @@ -1280,6 +1339,7 @@ features: - Clang 10 - MSVC 14.27 - Xcode 12 + - R++ 2025.1 - desc: "Conditionally trivial special member functions" paper: P0848 @@ -1288,6 +1348,7 @@ features: - Clang 16 - MSVC 14.28 - Xcode 16.3 + - R++ ftm: - name: __cpp_concepts value: 202002L @@ -1308,6 +1369,7 @@ features: - Clang 9 - MSVC 14.25 - Xcode 11.4 + - R++ 2022.3 - desc: "`using` enum" paper: P1099 @@ -1318,6 +1380,7 @@ features: - Clang 13 - MSVC 14.24 - Xcode 13.4.1 + - R++ ftm: - name: __cpp_using_enum value: 201907L @@ -1329,6 +1392,7 @@ features: - GCC 11 - Clang 17 - MSVC 14.27 + - R++ 2021.3 ftm: - name: __cpp_deduction_guides value: 201907L @@ -1340,6 +1404,7 @@ features: - Clang 10 - MSVC 14.28 - Xcode 12 + - R++ - desc: "Permit conversions to arrays of unknown bound" paper: P0388 @@ -1348,6 +1413,8 @@ features: - Clang 14 - MSVC 14.27 - Xcode 14 + - tool: R++ + status: unsupported - desc: "`constinit`" paper: P1143 @@ -1358,6 +1425,7 @@ features: - Clang 10 - MSVC 14.29 - Xcode 12 + - R++ ftm: - name: __cpp_constinit value: 201907L @@ -1378,6 +1446,7 @@ features: - Clang 9 - MSVC 14.24 - Xcode 11.4 + - R++ - desc: "Class template argument deduction for alias templates" paper: P1814 @@ -1387,6 +1456,7 @@ features: status: partial note: "This feature has been initially completed, but the feature macro `__cpp_deduction_guides` has not been updated." - MSVC 14.27 + - R++ ftm: - name: __cpp_deduction_guides value: 201907L @@ -1398,6 +1468,10 @@ features: - Clang 13 - MSVC 14.24 - Xcode 13.4.1 + - tool: R++ + status: partial + issue: RSCPP-37266 + note: "The implicit move from an rvalue reference is not implemented." - desc: "`constexpr` container operations" paper: P0784 @@ -1406,6 +1480,7 @@ features: - Clang 10 - MSVC 14.28 - Xcode 12 + - R++ ftm: - name: __cpp_constexpr_dynamic_alloc value: 201907L @@ -1649,6 +1724,7 @@ features: - Clang 10 - MSVC 14.25 - Xcode 12 + - R++ - desc: "Inconsistencies with constant template parameters" paper: P1907 @@ -1658,6 +1734,7 @@ features: - Clang 18 (partial) - MSVC 14.26 - Xcode 13.4.1 (partial) + - R++ ftm: - name: __cpp_nontype_template_args value: 201911L @@ -1709,6 +1786,7 @@ features: - Clang 10 - MSVC 14.25 - Xcode 12 + - R++ - desc: "`constexpr` for numeric algorithms" paper: P1645 @@ -1729,6 +1807,7 @@ features: - Clang 11 - MSVC - Xcode 12.5 + - R++ - desc: "Converting from `T*` to `bool` should be considered narrowing" paper: P1957 @@ -1739,6 +1818,7 @@ features: - Clang 18 - MSVC 14.27 - Xcode 13 + - R++ - desc: "`ranges::elements_view` needs its own sentinel" paper: P1994 diff --git a/features_cpp23.yaml b/features_cpp23.yaml index 2378608..5192ef4 100644 --- a/features_cpp23.yaml +++ b/features_cpp23.yaml @@ -8,6 +8,7 @@ features: - Clang 13 - MSVC 14.43 - Xcode 13.4.1 + - R++ 2024.3 ftm: - name: __cpp_size_t_suffix value: 202011L @@ -74,6 +75,7 @@ features: - Clang 13 - MSVC 14.44 - Xcode 13.4.1 + - R++ 2023.1 content: lambda-omit-parens.md - desc: "Repairing input range adaptors and `std::counted_iterator`" @@ -138,6 +140,7 @@ features: - Clang 14 - MSVC 14.44 - Xcode 14 + - R++ 2023.2 ftm: - name: __cpp_if_consteval value: 202106L @@ -157,6 +160,7 @@ features: - Clang 13 - Xcode 13.4.1 - MSVC 14.50 + - R++ - desc: "Narrowing contextual conversions to `bool` (in `static_assert` and `constexpr if`)" paper: P1401 @@ -186,6 +190,7 @@ features: - Clang - MSVC 14.30 - Xcode + - R++ - desc: "Remove mixed wide string literal concatenation" paper: P2201 @@ -194,6 +199,8 @@ features: - Clang - MSVC 14.44 - Xcode + - tool: R++ + status: unsupported - desc: "`std::out_ptr()` and `std::inout_ptr()`" paper: P1132 @@ -401,6 +408,7 @@ features: - Clang 15 - MSVC 14.43 - Xcode 14.3 + - R++ ftm: - name: __cpp_constexpr value: 202110L @@ -421,6 +429,7 @@ features: - MSVC 14.32 - MSVC 14.43 - Xcode 16.3 + - R++ 2023.1 ftm: - name: __cpp_explicit_this_parameter value: 202110L @@ -432,6 +441,7 @@ features: - Clang - MSVC 14.30 - Xcode + - R++ - desc: "Add support for preprocessing directives `#elifdef` and `#elifndef`" paper: P2334 @@ -441,6 +451,7 @@ features: - Clang 13 - MSVC 14.40 - Xcode 13.4.1 + - R++ 2024.2 - desc: "Extend init-statement (of `for` loop) to allow alias-declaration" paper: P2360 @@ -451,6 +462,7 @@ features: - tool: MSVC 14.50 note: "Compiles, but no IntelliSense support yet." - Xcode 14 + - R++ 2023.1 - desc: "Change scope of lambda trailing-return-type" paper: [P2036, P2579] @@ -469,6 +481,7 @@ features: - Clang 15 - MSVC 14.42 - Xcode 14.3 + - R++ 2024.2 ftm: - name: __cpp_multidimensional_subscript value: 202110L @@ -555,6 +568,7 @@ features: - Clang 15 - MSVC 14.50 - Xcode 14.3 + - R++ 2023.1 ftm: - name: __cpp_auto_cast value: 202110L @@ -663,6 +677,7 @@ features: - Clang 13 - MSVC 14.44 - Xcode 13.4.1 + - R++ 2024.3 - desc: "`std::expected` (``)" paper: [P0323, P2549] @@ -845,6 +860,7 @@ features: - Clang - MSVC 14.50 - Xcode 15 + - R++ - desc: "Remove non-encodable wide character literals and multicharacter wide character literals" paper: P2362 @@ -853,6 +869,7 @@ features: - Clang 14 - Xcode 15 - MSVC 14.51 + - R++ 2023.3 - desc: "Labels at the end of compound statements" paper: P2324 @@ -862,6 +879,7 @@ features: - Clang 16 - Xcode 16 - MSVC 14.51 + - R++ 2023.1 - desc: "Delimited escape sequences" paper: P2290 @@ -880,6 +898,7 @@ features: - Clang 19 - MSVC 14.51 - Xcode 16.3 + - R++ ftm: - name: __cpp_constexpr value: 202207L @@ -917,6 +936,7 @@ features: - Clang 16 - MSVC 14.44 - Xcode 16 + - R++ 2023.2 ftm: - name: __cpp_static_call_operator value: 202207L @@ -936,6 +956,7 @@ features: - GCC 14 - Clang 20 - MSVC 14.50 + - R++ keywords: ["constexpr"] - desc: "Requirements for optional extended floating-point types" @@ -944,6 +965,7 @@ features: - GCC 13 - tool: MSVC note: "Not applicable to MSVC." + - R++ 2026.1 - desc: "Standard names and library support for extended floating-point types" paper: P1467 @@ -957,11 +979,17 @@ features: - Clang 19 - MSVC 14.50 - Xcode 16.4 + - R++ - desc: "Class template argument deduction from inherited constructors" paper: P2582 summary: "Class template argument deduction works with inherited constructors." - support: [GCC 14, MSVC 14.51] + support: + - GCC 14 + - MSVC 14.51 + - tool: R++ + status: unsupported + issue: RSCPP-37818 - desc: "Attribute `[[assume]]`" paper: P1774 @@ -971,6 +999,7 @@ features: - Clang 19 - Xcode 16.3 - MSVC 14.51 + - R++ - desc: "Support for UTF-8 as a portable source file encoding" paper: P2295 @@ -988,6 +1017,7 @@ features: - Clang 16 - MSVC 14.34 - Xcode 16 + - R++ 2023.2 ftm: - name: __cpp_char8_t value: 202207L @@ -999,6 +1029,7 @@ features: - Clang - MSVC 14.44 - Xcode 15 + - R++ - desc: "`std::mdspan`: a non-owning multidimensional array reference (``)" paper: [P0009, P2599, P2604, P2613, P2763] @@ -1408,6 +1439,7 @@ features: - Clang 16 - MSVC 14.44 - Xcode 16 + - R++ 2023.2 ftm: - name: __cpp_multidimensional_subscript value: 202211L @@ -1419,6 +1451,7 @@ features: - Clang 16 - MSVC 14.51 - Xcode 16 + - R++ 2024.2 ftm: - name: __cpp_constexpr value: 202211L @@ -1431,6 +1464,7 @@ features: - Clang 17 - Xcode 16 - MSVC 14.52 + - R++ ftm: - name: __cpp_consteval value: 202211L @@ -1441,6 +1475,7 @@ features: - GCC 15 - Clang 17 - MSVC 14.28 + - R++ - desc: "Extending the lifetime of temporaries in range-based `for` loop initializer" paper: [P2644, P2718] @@ -1497,6 +1532,8 @@ features: - Clang 19 - MSVC 14.50 - Xcode 16.3 + - tool: R++ + status: unsupported - desc: "Stashing stashing iterators for proper flattening" paper: P2770 diff --git a/features_cpp26.yaml b/features_cpp26.yaml index d2b4169..47a04e5 100644 --- a/features_cpp26.yaml +++ b/features_cpp26.yaml @@ -38,6 +38,7 @@ features: - GCC 14 - Clang 17 - Xcode 16.3 + - R++ ftm: - name: __cpp_constexpr value: 202306L @@ -52,7 +53,7 @@ features: - desc: "Static storage for braced initializers" paper: P2752 - support: [GCC 14] + support: [GCC 14, R++] - desc: "User-generated `static_assert` messages" paper: P2741 @@ -62,6 +63,9 @@ features: - GCC 14 - Clang 17 - Xcode 16.3 + - tool: R++ + status: unsupported + issue: RSCPP-35928 ftm: - name: __cpp_static_assert value: 202306L @@ -73,6 +77,7 @@ features: - GCC 14 - Clang 18 - Xcode 16.3 + - R++ 2025.2 ftm: - name: __cpp_placeholder_variables value: 202306L @@ -376,6 +381,7 @@ features: - GCC 9 - Clang 18 - Xcode 16.3 + - R++ - desc: "[Pack indexing](https://cppreference.com/cpp/language/pack_indexing)" paper: P2662 @@ -385,6 +391,7 @@ features: - GCC 15 - Clang 19 - Xcode 16.3 + - R++ 2025.3 ftm: - name: __cpp_pack_indexing value: 202311L @@ -395,6 +402,8 @@ features: - GCC 14 - Clang 18 - Xcode 16.3 + - tool: R++ + status: unsupported - desc: "Saturation arithmetic" paper: [P0543, P4052] @@ -579,6 +588,8 @@ features: - GCC 14 - Clang 19 - Xcode 16.3 + - tool: R++ + status: unsupported - desc: "Clarifying rules for brace elision in [aggregate initialization](https://cppreference.com/cpp/language/aggregate_initialization)" paper: P3106 @@ -586,6 +597,7 @@ features: - GCC - Clang 17 - Xcode 16.3 + - R++ - desc: "Attributes for [structured bindings](https://cppreference.com/cpp/language/structured_binding)" paper: P0609 @@ -593,6 +605,7 @@ features: - GCC 15 - Clang 19 - Xcode 16.3 + - R++ 2025.2 ftm: - name: __cpp_structured_bindings value: 202403L @@ -607,6 +620,7 @@ features: - GCC 14 - Clang 19 - Xcode 16.3 + - R++ content: trivial-infinite-loops.md keywords: ["safety"] @@ -623,6 +637,7 @@ features: - GCC 15 - Clang 19 - Xcode 16.3 + - R++ 2025.2 ftm: - name: __cpp_deleted_function value: 202403L @@ -630,7 +645,7 @@ features: - desc: "Variadic friends" paper: P2893 summary: "Class templates can now declare all types in a parameter pack as friends." - support: [GCC 15, Clang 20, Xcode 26.4] + support: [GCC 15, Clang 20, Xcode 26.4, R++ 2025.2] ftm: - name: __cpp_variadic_friend value: 202403L @@ -770,10 +785,15 @@ features: - GCC 15 - Clang 19 - Xcode 16.3 + - R++ - desc: "Ordering of constraints involving fold expressions" paper: P2963 - support: [Clang 19, Xcode 16.3] + support: + - Clang 19 + - Xcode 16.3 + - tool: R++ + status: unsupported ftm: - name: __cpp_fold_expressions value: 202406L @@ -788,6 +808,7 @@ features: note: "Supported as an extension, not fully conforming to standardized version." - Clang 21 - Xcode 26.4 + - R++ ftm: - name: __cpp_structured_bindings value: 202406L @@ -874,12 +895,13 @@ features: - tool: Clang 22 status: partial note: "References to `constexpr` and decomposition of tuple-like types are not supported (only arrays and aggregates are)." + - R++ - desc: "Allowing exception throwing in constant-evaluation (`constexpr` exceptions)" paper: P3068 summary: "Exceptions can now be thrown and caught during constant evaluation." content: constexpr-exceptions.md - support: [GCC 16] + support: [GCC 16, R++ 2026.2] ftm: - name: __cpp_constexpr_exceptions value: 202411L @@ -895,19 +917,26 @@ features: - GCC 15 - Clang 20 - Xcode 16 + - tool: R++ + status: unsupported keywords: ["safety"] - desc: "[Structured bindings](https://cppreference.com/cpp/language/structured_binding) can introduce a pack" paper: P1061 summary: "Structured bindings can now capture remaining elements into a parameter pack." - support: [GCC 16, Clang 21, Xcode 26.4] + support: [GCC 16, Clang 21, Xcode 26.4, R++ 2025.3] ftm: - name: __cpp_structured_bindings value: 202411L - desc: "The Oxford variadic comma" paper: P3176 - support: [GCC 15, Clang 20, Xcode 26.4] + support: + - GCC 15 + - Clang 20 + - Xcode 26.4 + - tool: R++ + status: unsupported summary: "Variadic ellipsis parameters (`...`) without a separating comma are deprecated, such as `int...`." content: oxford-variadic-comma.md @@ -1015,6 +1044,8 @@ features: - desc: "Trivial unions (was `std::uninitialized`)" paper: P3074 + support: + - R++ content: trivial-unions.md ftm: - name: __cpp_trivial_union @@ -1029,13 +1060,13 @@ features: - desc: "Partial program correctness (`std::observable()`)" paper: P1494 - support: [GCC 16] + support: [GCC 16, R++] keywords: ["safety"] - desc: "Contracts for C++ (``)" paper: P2900 summary: "Contracts let you specify preconditions, postconditions, and assertions that document and enforce function requirements." - support: [GCC 16] + support: [GCC 16, R++ 2025.3] ftm: - name: __cpp_contracts value: 202502L @@ -1052,6 +1083,8 @@ features: - desc: "Concept and variable-template template-parameters" paper: P2841 + support: + - R++ 2025.3 ftm: - name: __cpp_template_parameters value: 202502L @@ -1066,6 +1099,7 @@ features: note: "Supported as an extension.
Use the flag `-Wno-c23-extensions` to suppress warnings related to `#embed`.
Although this is a C++26 feature, this is available in Clang starting with C++20 (`-std=c++20`).
Clang does not define the `__cpp_pp_embed` feature-testing macro yet.\n" - tool: Xcode 16.3 note: "Supported as an extension.
Use the flag `-Wno-c23-extensions` to suppress warnings related to `#embed`.
Although this is a C++26 feature, this is available in Apple Clang starting with C++20 (`-std=c++20`).
Apple Clang does not define the `__cpp_pp_embed` feature-testing macro yet.\n" + - R++ 2026.1 ftm: - name: __cpp_pp_embed value: 202502L @@ -1287,6 +1321,8 @@ features: support: - tool: GCC 16 note: "Requires `-freflection`" + - tool: R++ 2026.2 + note: "The language part only. R++ implements no standard library." ftm: - name: __cpp_impl_reflection value: 202506L @@ -1295,12 +1331,12 @@ features: - desc: "Annotations for Reflection" paper: P3394 summary: "Attach compile-time values to declarations for reflection to read back." - support: [GCC 16] + support: [GCC 16, R++ 2026.2] content: reflection-annotations.md - desc: "Splicing a base class subobject" paper: P3293 - support: [GCC 16] + support: [GCC 16, R++ 2026.2] keywords: ["reflection"] - desc: "`define_static_{string,object,array}`" @@ -1316,7 +1352,7 @@ features: paper: P1306 summary: "`template for` iterates over compile-time ranges like tuples and reflection results." content: expansion-statements.md - support: [GCC 16] + support: [GCC 16, R++ 2025.3] ftm: - name: __cpp_expansion_statements value: 202506L @@ -1330,7 +1366,11 @@ features: - desc: "`constexpr` virtual inheritance" paper: P3533 content: constexpr-virtual-inheritance.md - support: [GCC 16, Clang 24] + support: + - GCC 16 + - Clang 24 + - tool: R++ + status: unsupported ftm: - name: __cpp_constexpr_virtual_inheritance value: 202506L diff --git a/features_cpp29.yaml b/features_cpp29.yaml index ee4c1ea..f36a34e 100644 --- a/features_cpp29.yaml +++ b/features_cpp29.yaml @@ -2,7 +2,10 @@ features: - desc: "Designated-initializers for Base Classes" paper: P2287 - support: [GCC 17] + support: + - GCC 17 + - tool: R++ + status: unsupported ftm: - name: __cpp_designated_initializers value: 202606L @@ -13,10 +16,16 @@ features: - desc: "Defaulting Postfix Increment and Decrement Operations" paper: P3668 + support: + - tool: R++ + status: unsupported - desc: "Adding restrictions to defaulted assignment operator functions" paper: P2953 - support: [GCC 17] + support: + - GCC 17 + - tool: R++ + status: unsupported - desc: "Nondeterministic pointer provenance" paper: P2434 @@ -26,7 +35,7 @@ features: - desc: "Adjust identifier following new Unicode recommendations" paper: P3658 - support: [GCC 17, Clang 24] + support: [GCC 17, Clang 24, R++] - desc: "return_value & return_void Are Not Mutually Exclusive" paper: P3950 @@ -51,7 +60,10 @@ features: - desc: "Conditional noexcept specifiers in compound requirements" paper: P3822 - support: [GCC 17] + support: + - GCC 17 + - tool: R++ + status: unsupported ftm: - name: __cpp_concepts value: 202606L diff --git a/frontend_rscpp.yaml b/frontend_rscpp.yaml new file mode 100644 index 0000000..80515d0 --- /dev/null +++ b/frontend_rscpp.yaml @@ -0,0 +1,91 @@ +--- +frontend: + id: rscpp + name: R++ + full_name: ReSharper C++ + vendor: JetBrains + description: >- + R++ is the JetBrains C and C++ language engine. It powers the code analysis and + the language support in CLion, Rider, and ReSharper C++ for Visual Studio. + kind: frontend + standard_library: false + products: + - CLion + - Rider + - ReSharper C++ for Visual Studio + refs: + - title: ReSharper C++ + url: "https://www.jetbrains.com/resharper-cpp/" + - title: CLion + url: "https://www.jetbrains.com/clion/" +issue_tracker: + name: JetBrains YouTrack + url_template: "https://youtrack.jetbrains.com/issue/{id}" +releases: + - version: "2026.2" + released: July 22, 2026 + refs: + - title: Release notes + url: "https://blog.jetbrains.com/rscpp/2026/07/22/resharper-cpp-2026-2-cpp-26-reflection-ispc-language-support-and-more/" + - version: "2026.1" + released: March 30, 2026 + refs: + - title: Release notes + url: "https://blog.jetbrains.com/rscpp/2026/03/30/resharper-cpp-2026-1-released/" + - version: "2025.3" + released: November 11, 2025 + refs: + - title: Release notes + url: "https://blog.jetbrains.com/rscpp/2025/11/11/resharper-cpp-2025-3/" + - version: "2025.2" + released: August 14, 2025 + refs: [] + - version: "2025.1" + released: April 16, 2025 + refs: [] + - version: "2024.3" + released: November 13, 2024 + refs: [] + - version: "2024.2" + released: August 15, 2024 + refs: [] + - version: "2024.1" + released: April 9, 2024 + refs: + - title: Release notes + url: "https://blog.jetbrains.com/rscpp/2024/04/09/resharper-cpp-2024-1/" + - version: "2023.3" + released: December 6, 2023 + refs: + - title: Release notes + url: "https://blog.jetbrains.com/rscpp/2023/12/07/resharper-cpp-2023-3/" + - version: "2023.2" + released: August 2, 2023 + refs: + - title: Release notes + url: "https://blog.jetbrains.com/rscpp/2023/08/02/resharper-cpp-2023-2/" + - version: "2023.1" + released: April 5, 2023 + refs: + - title: Release notes + url: "https://blog.jetbrains.com/rscpp/2023/04/05/resharper-cpp-2023-1/" + - version: "2022.3" + released: December 7, 2022 + refs: + - title: Release notes + url: "https://blog.jetbrains.com/rscpp/2022/12/07/resharper-cpp-2022-3/" + - version: "2022.2" + released: August 2, 2022 + refs: + - title: Release notes + url: "https://blog.jetbrains.com/rscpp/2022/08/02/resharper-cpp-2022-2/" + - version: "2022.1" + released: April 19, 2022 + refs: + - title: Release notes + url: "https://blog.jetbrains.com/rscpp/2022/04/19/resharper-cpp-2022-1/" + - version: "2021.3" + released: December 8, 2021 + refs: + - title: Release notes + url: "https://blog.jetbrains.com/rscpp/2021/12/08/resharper-cpp-2021-3/"