[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