[LLVM][CMake][MSVC] Wrap linker options for ICX with LLVM_BUILD_INSTUMENTED #124573
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
RFC: https://discourse.llvm.org/t/rfc-cmake-linker-flags-need-wl-equivalent-for-intel-c-icx-on-windows/82446
The Intel C++ Compiler (ICX) passes linker flags through the driver unlike MSVC and clang-cl, and therefore needs them to be prefixed with
/Qoption,link
(the equivalent of-Wl,
for gcc on *nix).Previous PRs did not catch this because I did not try building with
LLVM_BUILD_INSTRUMENTED=ON
.CMAKE_CXX_LINKER_WRAPPER_FLAG
is empty for plain clang-cl (icx on windows behaves as clang-cl), so this is NFC for clang-cl.The approach I used to find this is documented as github gist here: https://gist.github.com/Maetveis/00567488f0d6ff74095d91ed306fafc5