[PATCH] D131683: Diagnosing the Future Keywords

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 23 06:59:05 PDT 2022


aaron.ballman added inline comments.


================
Comment at: clang/include/clang/Basic/DiagnosticLexKinds.td:85
+  InGroup<C99Compat>, DefaultIgnore;
+def warn_c23_keyword : Warning<"'%0' is a keyword in C23">,
+  InGroup<C2xCompat>, DefaultIgnore;
----------------



================
Comment at: clang/include/clang/Basic/TokenKinds.def:259
 //   KEYC11   - This is a keyword introduced to C in C11
+//   KEYC2X   - This is a keyword introduced to C in C23
 //   KEYCXX   - This is a C++ keyword, or a C++-specific keyword in the
----------------



================
Comment at: clang/include/clang/Basic/TokenKinds.def:384
+C2X_KEYWORD(true                        , BOOLSUPPORT)
+C2X_KEYWORD(remove_quals                , KEYC2X)
+
----------------
This is technically correct, but I think we should remove it until we go to implement that paper instead of introducing the keyword out of thin air here.

Btw, I think that should be `, 0` instead of `, KEYC2X` given the use of `C2X_KEYWORD`, right?


================
Comment at: clang/lib/Lex/Preprocessor.cpp:789-791
-        // char8_t is not modeled as a CXX20_KEYWORD because it's not
-        // unconditionally enabled in C++20 mode. (It can be disabled
-        // by -fno-char8_t.)
----------------
You should be sure to add this comment to the new code so we don't lose the useful information.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131683/new/

https://reviews.llvm.org/D131683



More information about the cfe-commits mailing list