[clang] [Clang][Parser] Accept P2741R3 (static_assert with user-generated message) in C++11 as an extension (PR #102044)
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 6 05:03:16 PDT 2024
================
@@ -671,10 +671,8 @@ static void InitializeCPlusPlusFeatureTestMacros(const LangOptions &LangOpts,
LangOpts.CPlusPlus23 ? "202211L"
: LangOpts.CPlusPlus17 ? "201603L"
: "200907");
- Builder.defineMacro("__cpp_static_assert", LangOpts.CPlusPlus26 ? "202306L"
- : LangOpts.CPlusPlus17
- ? "201411L"
- : "200410");
+ // C++17 / C++26 static_assert backported
+ Builder.defineMacro("__cpp_static_assert", "202306L");
----------------
AaronBallman wrote:
I'm not certain I agree that this is non-conforming, but the standard could be made more clear. The *name* of the feature test macro has to be predefined, but the standard says nothing about the value beyond what the value is for that particular release of the standard. The whole point to feature test macros is to be able to use the resulting date to tell you which feature you're working with, so not being able to specify an updated value for backported functionality... kind of defeats the purpose.
https://github.com/llvm/llvm-project/pull/102044
More information about the cfe-commits
mailing list