[PATCH] D150450: Add C++26 compile flags.
Erich Keane via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri May 12 07:36:31 PDT 2023
erichkeane added inline comments.
================
Comment at: clang/include/clang/Basic/DiagnosticGroups.td:310
DiagGroup<"pre-c++23-compat-pedantic", [CXXPre23Compat]>;
+def CXXPre26Compat : DiagGroup<"pre-c++26-compat">;
+def CXXPre26CompatPedantic :
----------------
Aaron: note the names of the diag groups: would you prefer this to be `c++2c`?
================
Comment at: clang/include/clang/Basic/LangOptions.def:101
LANGOPT(CPlusPlus23 , 1, 0, "C++23")
+LANGOPT(CPlusPlus26 , 1, 0, "C++26")
LANGOPT(ObjC , 1, 0, "Objective-C")
----------------
It isn't clear to me what the string here is used to output, so not sure if this should be 2c.
================
Comment at: clang/include/clang/Basic/LangStandards.def:170
+ CPlusPlus20 | CPlusPlus23 | CPlusPlus26 | Digraphs | HexFloat)
+LANGSTANDARD_ALIAS(cxx26, "c++26")
+
----------------
Note I made the c++26/gnu++26 values an alias, when we come to update this for C++26's release, this will be added to the LANGSTANDARD, and c++2c/gnu++2c should become an ALIAS_DEPR
================
Comment at: clang/lib/Frontend/InitPreprocessor.cpp:456
+ // FIXME: Use correct value for C++26.
+ Builder.defineMacro("__cplusplus", "202102L");
+ // FIXME: Use correct value for C++23, and update C++26 to be 'one more'.
----------------
At the moment, I just chose '1 more than c++23', but that hasn't been set yet. Once we have the final value, we should make this 1 more than 23's official value.
================
Comment at: clang/www/OpenProjects.html:126
-<li><b>Continue work on C++20, C++23, and C2x support</b>:
+<li><b>Continue work on C++20, C++23, C++26, and C2x support</b>:
There are still several C++20 features to complete, and work has begun on
----------------
Should this spot in the docs be `C++2c`?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D150450/new/
https://reviews.llvm.org/D150450
More information about the cfe-commits
mailing list