[all-commits] [llvm/llvm-project] b70be3: [clang][DependencyScanning] Separate clangDependen...

Naveen Seth Hanig via All-commits all-commits at lists.llvm.org
Wed Dec 3 15:38:44 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b70be3dc14c1f54eaae33418ced28a3473ab7d70
      https://github.com/llvm/llvm-project/commit/b70be3dc14c1f54eaae33418ced28a3473ab7d70
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/clangd/ScanningProjectModules.cpp
    A clang/include/clang/DependencyScanning/DependencyScannerImpl.h
    A clang/include/clang/DependencyScanning/DependencyScanningFilesystem.h
    A clang/include/clang/DependencyScanning/DependencyScanningService.h
    A clang/include/clang/DependencyScanning/DependencyScanningUtils.h
    A clang/include/clang/DependencyScanning/DependencyScanningWorker.h
    A clang/include/clang/DependencyScanning/InProcessModuleCache.h
    A clang/include/clang/DependencyScanning/ModuleDepCollector.h
    R clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
    R clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    R clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
    R clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
    R clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
    R clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    A clang/include/clang/Tooling/DependencyScanningTool.h
    M clang/lib/CMakeLists.txt
    A clang/lib/DependencyScanning/CMakeLists.txt
    A clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    A clang/lib/DependencyScanning/DependencyScanningFilesystem.cpp
    A clang/lib/DependencyScanning/DependencyScanningService.cpp
    A clang/lib/DependencyScanning/DependencyScanningUtils.cpp
    A clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    A clang/lib/DependencyScanning/InProcessModuleCache.cpp
    A clang/lib/DependencyScanning/ModuleDepCollector.cpp
    M clang/lib/Tooling/CMakeLists.txt
    R clang/lib/Tooling/DependencyScanning/CMakeLists.txt
    R clang/lib/Tooling/DependencyScanning/DependencyScannerImpl.cpp
    R clang/lib/Tooling/DependencyScanning/DependencyScannerImpl.h
    R clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
    R clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
    R clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
    R clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    R clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
    R clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    A clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/unittests/CMakeLists.txt
    A clang/unittests/DependencyScanning/CMakeLists.txt
    A clang/unittests/DependencyScanning/DependencyScanningFilesystemTest.cpp
    A clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
    M clang/unittests/Tooling/CMakeLists.txt
    A clang/unittests/Tooling/DependencyScannerTest.cpp
    R clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
    R clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp

  Log Message:
  -----------
  [clang][DependencyScanning] Separate clangDependencyScanning and DependencyScanningTool (NFC) (#169962)

This patch is the first of two in refactoring Clang's dependency
scanning tooling to remove its dependency on clangDriver.

It separates Tooling/DependencyScanningTool.cpp from the rest of
clangDependencyScanning and moves clangDependencyScanning out of
clangTooling into its own library. No functional changes are
introduced.

The follow-up patch (#169964) will restrict clangDependencyScanning to
handling only -cc1 command line inputs and will move all functionality
related to handling driver commands into clangTooling.
(Tooling/DependencyScanningTool.cpp).

This is part of a broader effort to support driver-managed builds for
compilations using C++ named modules and/or Clang modules. It is
required for linking the dependency scanning tooling against the driver
without introducing cyclic dependencies, which would otherwise cause
build failures when dynamic linking is enabled.

The RFC for this change can be found here:

https://discourse.llvm.org/t/rfc-new-clangoptions-library-remove-dependency-on-clangdriver-from-clangfrontend-and-flangfrontend/88773?u=naveen-seth



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list