aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/IdentifierTable.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard@metafoo.co.uk>2020-04-28 23:41:11 -0700
committerRichard Smith <richard@metafoo.co.uk>2020-04-28 23:49:35 -0700
commit20df6038ee76f110640fc7c5fa9b96b84e373932 (patch)
tree3bbbc4bd71df2a3f8a914c60eec987216e2bf7e8 /clang/lib/Basic/IdentifierTable.cpp
parentc35f3f8679050df77a32512a73a94ba856190089 (diff)
downloadllvm-20df6038ee76f110640fc7c5fa9b96b84e373932.zip
llvm-20df6038ee76f110640fc7c5fa9b96b84e373932.tar.gz
llvm-20df6038ee76f110640fc7c5fa9b96b84e373932.tar.bz2
Make -fno-char8_t disable the char8_t keyword, even in C++20.
This fixes a regression introduced in r354736, and makes our behavior compatible with that of Clang 8 and GCC.
Diffstat (limited to 'clang/lib/Basic/IdentifierTable.cpp')
-rw-r--r--clang/lib/Basic/IdentifierTable.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Basic/IdentifierTable.cpp b/clang/lib/Basic/IdentifierTable.cpp
index e88d939..d7ef159 100644
--- a/clang/lib/Basic/IdentifierTable.cpp
+++ b/clang/lib/Basic/IdentifierTable.cpp
@@ -146,6 +146,8 @@ static KeywordStatus getKeywordStatus(const LangOptions &LangOpts,
if (LangOpts.Coroutines && (Flags & KEYCOROUTINES)) return KS_Enabled;
if (LangOpts.ModulesTS && (Flags & KEYMODULES)) return KS_Enabled;
if (LangOpts.CPlusPlus && (Flags & KEYALLCXX)) return KS_Future;
+ if (LangOpts.CPlusPlus && !LangOpts.CPlusPlus20 && (Flags & CHAR8SUPPORT))
+ return KS_Future;
return KS_Disabled;
}