Skip to content

clang-tidy exception in Windows CMake project with ClangCL #92833

@kwsp

Description

@kwsp
[build] "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E __run_co_compile --tidy=clang-tidy;--format-style=file;--extra-arg-before=--driver-mode=cl --source=C:\src\arpam_gui\libuspam\src\signal.cpp -- C:\PROGRA~1\MICROS~1\2022\COMMUN~1\VC\Tools\Llvm\bin\clang-cl.exe --target=x86_64-pc-windows-msvc  /nologo -TP -DH5_BUILT_AS_DYNAMIC_LIB -DUSPAM_HAS_CUDA=1 -D_USE_MATH_DEFINES -DCMAKE_INTDIR=\"Debug\" -IC:\src\arpam_gui\libuspam\include -imsvcC:\src\arpam_gui\build\clang-cl\vcpkg_installed\x64-windows\include -imsvcC:\src\arpam_gui\build\clang-cl\vcpkg_installed\x64-windows\include\openblas -imsvcC:\src\arpam_gui\build\clang-cl\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -imsvc"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2\include" /arch:AVX2 /EHsc /Ob0 /Od /RTC1 -std:c++20 -MDd -Zi /showIncludes /Folibuspam\CMakeFiles\libuspam.dir\Debug\src\signal.cpp.obj /Fdlibuspam\CMakeFiles\libuspam.dir\Debug\libuspam.pdb -c -- C:\src\arpam_gui\libuspam\src\signal.cpp
[build] Error running 'clang-tidy': PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
[build] Stack dump:
[build] Exception Code: 0xC0000005
[build] #0 0x009860c0 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\bin\clang-tidy.exe 0x8760c0 
[build] 0x009860C0, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\bin\clang-tidy.exe(0x0000000000110000) + 0x8760C0 byte(s)
[build] Access violation
[build] [2/5] Building CXX object libuspam\CMakeFiles\test_libuspam.dir\Debug\test\test_signal.cpp.obj
[build] FAILED: libuspam/CMakeFiles/test_libuspam.dir/Debug/test/test_signal.cpp.obj 
[build] "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E __run_co_compile --tidy=clang-tidy;--format-style=file;--extra-arg-before=--driver-mode=cl --source=C:\src\arpam_gui\libuspam\test\test_signal.cpp -- C:\PROGRA~1\MICROS~1\2022\COMMUN~1\VC\Tools\Llvm\bin\clang-cl.exe --target=x86_64-pc-windows-msvc  /nologo -TP -DGTEST_LINKED_AS_SHARED_LIBRARY=1 -DH5_BUILT_AS_DYNAMIC_LIB -DUSPAM_HAS_CUDA=1 -DCMAKE_INTDIR=\"Debug\" -IC:\src\arpam_gui\libuspam\include -imsvcC:\src\arpam_gui\build\clang-cl\vcpkg_installed\x64-windows\include -imsvcC:\src\arpam_gui\build\clang-cl\vcpkg_installed\x64-windows\include\openblas -imsvcC:\src\arpam_gui\build\clang-cl\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -imsvc"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2\include" /arch:AVX2 /EHsc /Ob0 /Od /RTC1 -std:c++20 -MDd -Zi /showIncludes /Folibuspam\CMakeFiles\test_libuspam.dir\Debug\test\test_signal.cpp.obj /Fdlibuspam\CMakeFiles\test_libuspam.dir\Debug\ -c -- C:\src\arpam_gui\libuspam\test\test_signal.cpp[build] "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E __run_co_compile --tidy=clang-tidy;--format-style=file;--extra-arg-before=--driver-mode=cl --source=C:\src\arpam_gui\libuspam\src\signal.cpp -- C:\PROGRA~1\MICROS~1\2022\COMMUN~1\VC\Tools\Llvm\bin\clang-cl.exe --target=x86_64-pc-windows-msvc  /nologo -TP -DH5_BUILT_AS_DYNAMIC_LIB -DUSPAM_HAS_CUDA=1 -D_USE_MATH_DEFINES -DCMAKE_INTDIR=\"Debug\" -IC:\src\arpam_gui\libuspam\include -imsvcC:\src\arpam_gui\build\clang-cl\vcpkg_installed\x64-windows\include -imsvcC:\src\arpam_gui\build\clang-cl\vcpkg_installed\x64-windows\include\openblas -imsvcC:\src\arpam_gui\build\clang-cl\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -imsvc"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2\include" /arch:AVX2 /EHsc /Ob0 /Od /RTC1 -std:c++20 -MDd -Zi /showIncludes /Folibuspam\CMakeFiles\libuspam.dir\Debug\src\signal.cpp.obj /Fdlibuspam\CMakeFiles\libuspam.dir\Debug\libuspam.pdb -c -- C:\src\arpam_gui\libuspam\src\signal.cpp
[build] Error running 'clang-tidy': PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
[build] Stack dump:
[build] Exception Code: 0xC0000005
[build] #0 0x009860c0 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\bin\clang-tidy.exe 0x8760c0 
[build] 0x009860C0, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\bin\clang-tidy.exe(0x0000000000110000) + 0x8760C0 byte(s)
[build] Access violation
[build] [2/5] Building CXX object libuspam\CMakeFiles\test_libuspam.dir\Debug\test\test_signal.cpp.obj
[build] FAILED: libuspam/CMakeFiles/test_libuspam.dir/Debug/test/test_signal.cpp.obj 
[build] "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E __run_co_compile --tidy=clang-tidy;--format-style=file;--extra-arg-before=--driver-mode=cl --source=C:\src\arpam_gui\libuspam\test\test_signal.cpp -- C:\PROGRA~1\MICROS~1\2022\COMMUN~1\VC\Tools\Llvm\bin\clang-cl.exe --target=x86_64-pc-windows-msvc  /nologo -TP -DGTEST_LINKED_AS_SHARED_LIBRARY=1 -DH5_BUILT_AS_DYNAMIC_LIB -DUSPAM_HAS_CUDA=1 -DCMAKE_INTDIR=\"Debug\" -IC:\src\arpam_gui\libuspam\include -imsvcC:\src\arpam_gui\build\clang-cl\vcpkg_installed\x64-windows\include -imsvcC:\src\arpam_gui\build\clang-cl\vcpkg_installed\x64-windows\include\openblas -imsvcC:\src\arpam_gui\build\clang-cl\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -imsvc"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2\include" /arch:AVX2 /EHsc /Ob0 /Od /RTC1 -std:c++20 -MDd -Zi /showIncludes /Folibuspam\CMakeFiles\test_libuspam.dir\Debug\test\test_signal.cpp.obj /Fdlibuspam\CMakeFiles\test_libuspam.dir\Debug\ -c -- C:\src\arpam_gui\libuspam\test\test_signal.cpp
  • OS: Windows 11
  • Platform: CMake (using CMake Tools in VS Code), "Ninja Multi-Config"
  • Compiler: Clang CL from Visual Studio 2022
  • Clang CL and clang-tidy come from Visual Studio 2022

Just encountered this where clang-tidy throws an exception. I'm struggling to make a reproducible example.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions