[all-commits] [llvm/llvm-project] aa1b41: [clang][deps] Remove dependency on `tooling::ToolA...

Jan Svoboda via All-commits all-commits at lists.llvm.org
Tue Jul 22 10:11:01 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: aa1b416065ec615e93c496bbb43c7c006a04553e
      https://github.com/llvm/llvm-project/commit/aa1b416065ec615e93c496bbb43c7c006a04553e
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-07-22 (Tue, 22 Jul 2025)

  Changed paths:
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp

  Log Message:
  -----------
  [clang][deps] Remove dependency on `tooling::ToolAction` (#149904)

The dependency scanner was initially using a fair amount of
infrastructure provided by the `clangTooling` library. Over time, the
needs for bespoke handling of command lines grew and the overlap with
the tooling library kept shrinking. I don't think the library provides
any value anymore.

I decided to remove the dependency and only reimplement the small bits
required by the scanner.

This allowed for a nice simplification, where we no longer need to
create temporary dummy `FileManager` instances (mis-named as
`DriverFileMgr` in some parts) and `SourceManager` instances to attach
to the `DiagnosticsEngine`. That code was copied from the tooling
library to support `DiagnosticConsumers` that expect these to exist. The
scanner uses a closed set of consumers and none need these objects to
exist.

The motivation for this (hopefully NFC) patch are some new restrictions
to how VFS's can be propagated in Clang that I'm working on.



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