[all-commits] [llvm/llvm-project] 571beb: [compiler-rt] clang-cl: skip MSVC external-header ...

Alexandre Ganea via All-commits all-commits at lists.llvm.org
Mon Apr 13 04:14:02 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 571beb55057e66184fbcc9d9b9f81b443f6a9d52
      https://github.com/llvm/llvm-project/commit/571beb55057e66184fbcc9d9b9f81b443f6a9d52
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/interception/CMakeLists.txt
    M compiler-rt/lib/ubsan/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] clang-cl: skip MSVC external-header probe; -std=c++ for unit-test compiles (#191564)

1. `check_cxx_compiler_flag` marked `COMPILER_RT_HAS_EXTERNAL_FLAG` true
for clang-cl, so `/experimental:external` and `/external:anglebrackets`
were passed and clang-cl warned they were unused. Now only probe with
real MSVC (not Clang); set the flag false otherwise; rely on that in
asan/interception/ubsan.

2. Custom compile lines for unit tests didn’t get C++17, so headers hit
`-Wc++17-extensions` (e.g. `constexpr if` / message-less `static_assert`
in FuzzedDataProvider / asan_fake_stack). Now append
`-std=c++${CMAKE_CXX_STANDARD}` or `-std=c++17` for C++ sources in
`clang_compile()` for both standalone and non-standalone builds.



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