diff options
author | Mital Ashok <mital@mitalashok.co.uk> | 2024-09-05 16:38:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-05 17:38:08 +0200 |
commit | be427dfb9ea6689947253d737708dc3645e179dc (patch) | |
tree | 3b4e2f3f467fbac5a3d7faf027648f03001db9f1 /clang/lib/Frontend/InitPreprocessor.cpp | |
parent | 0593b95ff4c459ccf71f9472c148967d40f6d865 (diff) | |
download | llvm-be427dfb9ea6689947253d737708dc3645e179dc.zip llvm-be427dfb9ea6689947253d737708dc3645e179dc.tar.gz llvm-be427dfb9ea6689947253d737708dc3645e179dc.tar.bz2 |
[Clang][Parser] Accept P2741R3 (static_assert with user-generated message) in C++11 as an extension (#102044)
Added a new `-Wpre-c++26-compat` warning for when this feature is used
in C++26 and a `-Wc++26-extensions` warning for when this is used in
C++11 through C++23.
---------
Co-authored-by: cor3ntin <corentinjabot@gmail.com>
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
-rw-r--r-- | clang/lib/Frontend/InitPreprocessor.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 61260a3..9a0fdb1 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -671,10 +671,9 @@ 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 supported as an extension in earlier language + // modes, so we use the C++26 value. + Builder.defineMacro("__cpp_static_assert", "202306L"); Builder.defineMacro("__cpp_decltype", "200707L"); Builder.defineMacro("__cpp_attributes", "200809L"); Builder.defineMacro("__cpp_rvalue_references", "200610L"); |