[PATCH] D149553: [clang] Use -std=c++23 instead of -std=c++2b
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon May 1 12:20:52 PDT 2023
aaron.ballman added a comment.
Thank you for working on this! The Clang changes are mostly all good, but I think we should hold off on changing the value of `__cplusplus` for the moment as it's not set in stone in the standard yet (I thought it was though, so I'm checking with the editor).
================
Comment at: clang/lib/Driver/ToolChains/Clang.cpp:6638
.Case("c++20", "-std=c++20")
- .Case("c++latest", "-std=c++2b")
+ // TODO add c++23 when MSVC supports it.
+ .Case("c++latest", "-std=c++23")
----------------
Good catch!
================
Comment at: clang/lib/Frontend/InitPreprocessor.cpp:455
+ if (LangOpts.CPlusPlus23)
+ Builder.defineMacro("__cplusplus", "202302L");
// [C++20] The integer literal 202002L.
----------------
I think this might still be premature. I noticed that the draft C++ standard does not have this value set yet: https://github.com/cplusplus/draft/blob/main/source/config.tex#L6
I've emailed the editor to find out if that's a mistake (I am pretty sure we're sending this off to PDTS at some point shortly).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D149553/new/
https://reviews.llvm.org/D149553
More information about the cfe-commits
mailing list