[clang-tools-extra] [clang-tidy] Speed up `misc-header-include-cycle` (PR #148757)

Victor Chernyakin via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 15 12:54:06 PDT 2025


================
@@ -85,36 +81,26 @@ class CyclicDependencyCallbacks : public PPCallbacks {
     if (FileType != clang::SrcMgr::C_User)
       return;
 
-    llvm::StringRef FileName = llvm::sys::path::filename(FilePath);
-    NextToEnter = {FileID(), FileName, Range.getBegin()};
+    NextToEnter = Range.getBegin();
 
     if (!File)
       return;
 
-    FileID Id = SM.translateFile(*File);
-    if (Id.isInvalid())
-      return;
-
-    checkForDoubleInclude(Id, FileName, Range.getBegin());
+    checkForDoubleInclude(&File->getFileEntry(),
+                          llvm::sys::path::filename(FilePath),
+                          Range.getBegin());
   }
 
-  void EndOfMainFile() override {
-    if (!Files.empty() && Files.back().Id == SM.getMainFileID())
-      Files.pop_back();
-
-    assert(Files.empty());
-  }
----------------
localspook wrote:

Confirmed that the assert doesn't fire when running over `llvm`.

https://github.com/llvm/llvm-project/pull/148757


More information about the cfe-commits mailing list