[clang] bf6db18 - Fix char8_t in C mode regression from fb65b179
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 3 07:15:39 PDT 2022
Author: Erich Keane
Date: 2022-08-03T07:15:30-07:00
New Revision: bf6db18e52815475baebff2c330763fedac6b5e4
URL: https://github.com/llvm/llvm-project/commit/bf6db18e52815475baebff2c330763fedac6b5e4
DIFF: https://github.com/llvm/llvm-project/commit/bf6db18e52815475baebff2c330763fedac6b5e4.diff
LOG: Fix char8_t in C mode regression from fb65b179
When doing that NFC refactor, I'd messed up how char8_t was reported,
which resulted in it being considered a 'future' keyword, without the
corresponding diagnostic, which lead to an assert. This patch corrects
the char8_t to ONLY be future in C++ mode.
Added:
Modified:
clang/lib/Basic/IdentifierTable.cpp
Removed:
################################################################################
diff --git a/clang/lib/Basic/IdentifierTable.cpp b/clang/lib/Basic/IdentifierTable.cpp
index 4bf9e12af83c..06f0850430f2 100644
--- a/clang/lib/Basic/IdentifierTable.cpp
+++ b/clang/lib/Basic/IdentifierTable.cpp
@@ -179,7 +179,8 @@ static KeywordStatus getKeywordStatusHelper(const LangOptions &LangOpts,
case CHAR8SUPPORT:
if (LangOpts.Char8) return KS_Enabled;
if (LangOpts.CPlusPlus20) return KS_Unknown;
- return KS_Future;
+ if (LangOpts.CPlusPlus) return KS_Future;
+ return KS_Unknown;
case KEYOBJC:
// We treat bridge casts as objective-C keywords so we can warn on them
// in non-arc mode.
More information about the cfe-commits
mailing list