[all-commits] [llvm/llvm-project] fce3fa: Reapply [Support] ToolSession for in-process tool ...

Anutosh Bhat via All-commits all-commits at lists.llvm.org
Fri Sep 18 07:46:10 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fce3facdfe49924687eaba7b2239ee101104b2c3
      https://github.com/llvm/llvm-project/commit/fce3facdfe49924687eaba7b2239ee101104b2c3
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/driver/cc1gen_reproducer_main.cpp
    M clang/tools/driver/driver.cpp
    M lld/tools/lld/lld.cpp
    M llvm/cmake/modules/llvm-driver-template.cpp.in
    A llvm/include/llvm/Support/Driver.h
    R llvm/include/llvm/Support/LLVMDriver.h
    M llvm/lib/Support/CMakeLists.txt
    A llvm/lib/Support/Driver.cpp
    A llvm/test/tools/llvm-driver/session-dispatch.test
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-ar/llvm-ar.cpp
    M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
    M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
    M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
    M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
    M llvm/tools/llvm-driver/llvm-driver.cpp
    M llvm/tools/llvm-dwp/llvm-dwp.cpp
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-ifs/llvm-ifs.cpp
    M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
    M llvm/tools/llvm-lipo/llvm-lipo.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp
    M llvm/tools/llvm-mt/llvm-mt.cpp
    M llvm/tools/llvm-nm/llvm-nm.cpp
    M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-rc/llvm-rc.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
    M llvm/tools/llvm-size/llvm-size.cpp
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
    M llvm/tools/sancov/sancov.cpp
    M llvm/unittests/Support/CMakeLists.txt
    A llvm/unittests/Support/LLVMToolSession/CMakeLists.txt
    A llvm/unittests/Support/LLVMToolSession/LLVMToolSessionTest.cpp

  Log Message:
  -----------
  Reapply [Support] ToolSession for in-process tool invocation (#224515)

This PR Relands #221996, which was approved and merged but reverted in
#224368 after failures in the Fuchsia builders.

This PR contains two commits:

1. The original approved commit, reapplied without changes.
2. A small follow-up fixing the reported failures.

The problem was that a direct Clang invocation was incorrectly marked as
needing a prepended tool name. When Clang launched cc1 out of process,
we produced:

    clang clang -cc1 ...

instead of:

    clang -cc1 ...

This affected `cc-print-proc-stat.c` and the macOS runtime compiler
checks.

The second commit determines whether the session executable already
dispatches to the selected tool before setting `NeedsPrependArg`. It
also adds regression tests for direct invocation and overlapping tool
names.

Tested with the ToolSession unit tests, llvm-driver tests, the
previously failing Clang test, and forced out-of-process cc1
compilation.



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