erichkeane added a comment. I believe you need tests here desperately. I also believe the `define` logic that you have here isn't going to be sufficient for the C future flags thanks to it getting some C keywords.
================ Comment at: clang/include/clang/Basic/TokenKinds.def:387 // C++11 keywords -CXX11_KEYWORD(alignas , 0) +CXX11_KEYWORD(alignas , KEYC23) // alignof and _Alignof return the required ABI alignment ---------------- Hmm... this looks like it is going to be troublesome for the 'future' feature. Can you make sure you have tests for all of these? ================ Comment at: clang/lib/Lex/Preprocessor.cpp:799 +#define C23_KEYWORD(NAME, FLAGS) .Case(#NAME, diag::warn_c23_keyword) +#define CXX11_KEYWORD(NAME, FLAGS) .Case(#NAME, diag::warn_c23_keyword) +#include "clang/Basic/TokenKinds.def" ---------------- This isn't right at all. We should be looking through the list of flags instead of trying to assume that cxx11 keywords here are all 'future' C keywords. First, this isn't true. Second, even if it was, it is really fragile. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131683/new/ https://reviews.llvm.org/D131683 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits