[all-commits] [llvm/llvm-project] dba558: [Clang][Driver] Installation detectors in user fac...

Jakub Chlanda via All-commits all-commits at lists.llvm.org
Wed Jul 30 03:01:44 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: dba558b474199142b8b2c88e9e4110ab1b8cf8e3
      https://github.com/llvm/llvm-project/commit/dba558b474199142b8b2c88e9e4110ab1b8cf8e3
  Author: Jakub Chlanda <jakub at codeplay.com>
  Date:   2025-07-30 (Wed, 30 Jul 2025)

  Changed paths:
    A clang/include/clang/Driver/CudaInstallationDetector.h
    A clang/include/clang/Driver/LazyDetector.h
    A clang/include/clang/Driver/RocmInstallationDetector.h
    A clang/include/clang/Driver/SyclInstallationDetector.h
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.h
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/Gnu.h
    M clang/lib/Driver/ToolChains/HIPAMD.h
    R clang/lib/Driver/ToolChains/LazyDetector.h
    M clang/lib/Driver/ToolChains/MSVC.h
    M clang/lib/Driver/ToolChains/MinGW.h
    R clang/lib/Driver/ToolChains/ROCm.h
    M clang/lib/Driver/ToolChains/SYCL.h

  Log Message:
  -----------
  [Clang][Driver] Installation detectors in user facing include dir (#151114)

This patch moves `LazyDetector` and target specific (Cuda, Hip, SYCL)
installation detectors to clang's include directory. It was problematic
for downstream to use headers from clang's lib dir. The use of lib
headers could lead to subtle errors, as some of the symbols there are
annotated with `LLVM_LIBRARY_VISIBILITY`. For instance
[`ROCMToolChain::getCommonDeviceLibNames`](https://github.com/jchlanda/llvm-project/blob/jakub/installation_detectors/clang/lib/Driver/ToolChains/AMDGPU.h#L147)
is c++ public, but because of the annotation it ends up as ELF hidden
symbol, which causes errors when accessed from another shared library.



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