Fix -fuse-ld to be linker flag in feature detection check
Discovered an issue working in StableHLO when attempting to build with `-Wall -Werror`: https://github.com/openxla/stablehlo/pull/137 Currently, if `LLVM_USE_LLD` and `-DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -Wall -Werror"` are both specified for build, the build will error with: ``` -- Performing Test CXX_SUPPORTS_CUSTOM_LINKER - Failed CMake Error at /usr/local/google/home/gleasonk/Coding/llvm-build/lib/cmake/llvm/HandleLLVMOptions.cmake:309 (message): Host compiler does not support '-fuse-ld=lld' ... $ cat <build_dir>/CMakeFiles/CMakeError.log ... clang: error: argument unused during compilation: '-fuse-ld=lld' [-Werror,-Wunused-command-line-argument] ``` It looks like other repos have hit this same issue: - https://github.com/golang/go/issues/41527 (mentioned in comment) - https://github.com/iree-org/iree/pull/7450 This can be reproduced in llvm-project with the following build command: ``` # Compile command taken from https://mlir.llvm.org/getting_started/ # and modified for use case cmake -G Ninja ../llvm \ -DLLVM_ENABLE_PROJECTS=mlir \ -DLLVM_BUILD_EXAMPLES=ON \ -DLLVM_TARGETS_TO_BUILD="X86;NVPTX;AMDGPU" \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_ASSERTIONS=ON \ -DCMAKE_CXX_COMPILER=clang++ \ -DCMAKE_C_COMPILER=clang \ -DLLVM_ENABLE_LLD=ON \ -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -Wall -Werror" ``` Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D134206
Loading
Please sign in to comment