aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/IdentifierTable.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Basic/IdentifierTable.cpp')
-rw-r--r--clang/lib/Basic/IdentifierTable.cpp18
1 files changed, 2 insertions, 16 deletions
diff --git a/clang/lib/Basic/IdentifierTable.cpp b/clang/lib/Basic/IdentifierTable.cpp
index cc472c9..099f2e8 100644
--- a/clang/lib/Basic/IdentifierTable.cpp
+++ b/clang/lib/Basic/IdentifierTable.cpp
@@ -251,22 +251,8 @@ static KeywordStatus getKeywordStatus(const LangOptions &LangOpts,
}
static bool IsKeywordInCpp(unsigned Flags) {
- while (Flags != 0) {
- unsigned CurFlag = Flags & ~(Flags - 1);
- Flags = Flags & ~CurFlag;
- switch (static_cast<TokenKey>(CurFlag)) {
- case KEYCXX:
- case KEYCXX11:
- case KEYCXX20:
- case BOOLSUPPORT:
- case WCHARSUPPORT:
- case CHAR8SUPPORT:
- return true;
- default:
- break; // Go to the next flag, try again.
- }
- }
- return false;
+ return (Flags & (KEYCXX | KEYCXX11 | KEYCXX20 | BOOLSUPPORT | WCHARSUPPORT |
+ CHAR8SUPPORT)) != 0;
}
static void MarkIdentifierAsKeywordInCpp(IdentifierTable &Table,