[clang] 0b2ab11 - Simplify implementation; NFC

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Fri May 2 06:39:49 PDT 2025


Author: Aaron Ballman
Date: 2025-05-02T09:39:20-04:00
New Revision: 0b2ab11321d2b400987e9ade28a221dff67aea7d

URL: https://github.com/llvm/llvm-project/commit/0b2ab11321d2b400987e9ade28a221dff67aea7d
DIFF: https://github.com/llvm/llvm-project/commit/0b2ab11321d2b400987e9ade28a221dff67aea7d.diff

LOG: Simplify implementation; NFC

Suggestion came via post-commit review feedback

Added: 
    

Modified: 
    clang/lib/Basic/IdentifierTable.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/Basic/IdentifierTable.cpp b/clang/lib/Basic/IdentifierTable.cpp
index cc472c9044c82..099f2e8a18da5 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,


        


More information about the cfe-commits mailing list