[all-commits] [llvm/llvm-project] 9a783b: [clang] Refactor option-related code from clangDri...

Naveen Seth Hanig via All-commits all-commits at lists.llvm.org
Mon Nov 10 08:19:26 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9a783b63e647d95e001f55464a9bc7fa0c3929c3
      https://github.com/llvm/llvm-project/commit/9a783b63e647d95e001f55464a9bc7fa0c3929c3
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2025-11-10 (Mon, 10 Nov 2025)

  Changed paths:
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/CompileCommands.cpp
    M clang-tools-extra/modularize/CMakeLists.txt
    M clang-tools-extra/modularize/CoverageChecker.cpp
    M clang-tools-extra/modularize/Modularize.cpp
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang-tools-extra/pp-trace/CMakeLists.txt
    M clang-tools-extra/pp-trace/PPTrace.cpp
    M clang/docs/CMakeLists.txt
    M clang/docs/InternalsManual.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/CMakeLists.txt
    R clang/include/clang/Driver/CMakeLists.txt
    R clang/include/clang/Driver/ClangOptionDocs.td
    M clang/include/clang/Driver/Driver.h
    R clang/include/clang/Driver/OptionUtils.h
    R clang/include/clang/Driver/Options.h
    R clang/include/clang/Driver/Options.td
    M clang/include/clang/Frontend/Utils.h
    A clang/include/clang/Options/CMakeLists.txt
    A clang/include/clang/Options/ClangOptionDocs.td
    A clang/include/clang/Options/OptionUtils.h
    A clang/include/clang/Options/Options.h
    A clang/include/clang/Options/Options.td
    M clang/include/module.modulemap
    M clang/lib/CMakeLists.txt
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Compilation.cpp
    M clang/lib/Driver/Driver.cpp
    R clang/lib/Driver/DriverOptions.cpp
    R clang/lib/Driver/OptionUtils.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/AVR.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Arch/CSKY.cpp
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/lib/Driver/ToolChains/Arch/M68k.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/lib/Driver/ToolChains/Arch/PPC.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
    M clang/lib/Driver/ToolChains/Arch/SystemZ.cpp
    M clang/lib/Driver/ToolChains/Arch/VE.cpp
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/CSKYToolChain.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CrossWindows.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cygwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/DragonFly.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Hurd.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/MSP430.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/Managarm.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/MipsLinux.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OHOS.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/PPCFreeBSD.cpp
    M clang/lib/Driver/ToolChains/PPCLinux.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/SYCL.cpp
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/lib/Driver/ToolChains/UEFI.cpp
    M clang/lib/Driver/ToolChains/VEToolchain.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/XCore.cpp
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Driver/XRayArgs.cpp
    M clang/lib/Frontend/CMakeLists.txt
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
    M clang/lib/FrontendTool/CMakeLists.txt
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/InterpreterUtils.h
    A clang/lib/Options/CMakeLists.txt
    A clang/lib/Options/DriverOptions.cpp
    A clang/lib/Options/OptionUtils.cpp
    M clang/lib/Tooling/CMakeLists.txt
    M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
    M clang/lib/Tooling/Tooling.cpp
    M clang/tools/clang-check/CMakeLists.txt
    M clang/tools/clang-check/ClangCheck.cpp
    M clang/tools/clang-installapi/CMakeLists.txt
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/driver/CMakeLists.txt
    M clang/tools/driver/cc1_main.cpp
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/driver/driver.cpp
    M clang/unittests/Driver/DXCModeTest.cpp
    M clang/www/OpenProjects.html
    M flang/docs/CMakeLists.txt
    M flang/docs/FlangDriver.md
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/FrontendTool/CMakeLists.txt
    M flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M flang/tools/flang-driver/CMakeLists.txt
    M flang/tools/flang-driver/driver.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/include/llvm/Option/Arg.h
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  [clang] Refactor option-related code from clangDriver into new clangOptions library (#163659)

This change moves option-related code from clangDriver into a new
clangOptions library.

This refactoring 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.
In particular, clangFrontend must no longer depend on clangDriver
for this to be possible.

This PR is motivated by the following review comment:
https://github.com/llvm/llvm-project/pull/152770#discussion_r2430756918



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