oneapi-src / level-zero

oneAPI Level Zero Specification Headers and Loader
https://spec.oneapi.com/versions/latest/elements/l0/source/index.html
MIT License
208 stars 90 forks source link

Error building with icx (intel clang-cl) #94

Closed lalishansh closed 1 year ago

lalishansh commented 2 years ago
clang-cl: error: argument unused during compilation: '-Qspectre' [-Werror,-Wunused-command-line-argument]
clang-cl: error: argument unused during compilation: '-MP' [-Werror,-Wunused-command-line-argument]

when invoked from intel/llvm/sycl/buildbot/compile.py

(inorder to make it work, i removed /MP and /Qspectre flags which is a bad thing to do i guess) Platform: Windows 11, build 22000.778

lalishansh commented 2 years ago

these are level-zero-loader-stamp\level-zero-loader-build-out.log logs

[1/38] Building CXX object source\CMakeFiles\ze_loader.dir\lib\zet_libapi.cpp.obj
FAILED: source/CMakeFiles/ze_loader.dir/lib/zet_libapi.cpp.obj 
C:\DevDepo\oneAPI\compiler\latest\windows\bin\icx.exe  /nologo /TP -DL0_LOADER_VERSION=\"1\" -DL0_VALIDATION_LAYER_SUPPORTED_VERSION=\"1\" -Dze_loader_EXPORTS -IC:\DevDepo\oneapi-llvm\build\tools\sycl\plugins\level_zero\level_zero\level_zero_loader\include -IC:\DevDepo\oneapi-llvm\build\tools\sycl\plugins\level_zero\level_zero\level_zero_loader\source\wrapper\include -IC:\DevDepo\oneapi-llvm\build\tools\sycl\plugins\level_zero\level_zero\level_zero_loader -IC:\DevDepo\oneapi-llvm\build\tools\sycl\plugins\level_zero\level_zero\level_zero_loader\source\inc /DWIN32 /D_WINDOWS /W3 /GR /EHsc /guard:cf /Qspectre /WX /W3 /wd4996 /MP /MT /O2 /Ob2 /DNDEBUG /Zi -Qstd=c++14 -QMD -QMT source\CMakeFiles\ze_loader.dir\lib\zet_libapi.cpp.obj -QMF source\CMakeFiles\ze_loader.dir\lib\zet_libapi.cpp.obj.d /Fosource\CMakeFiles\ze_loader.dir\lib\zet_libapi.cpp.obj /Fdsource\CMakeFiles\ze_loader.dir\ -c C:\DevDepo\oneapi-llvm\build\tools\sycl\plugins\level_zero\level_zero\level_zero_loader\source\lib\zet_libapi.cpp
clang-cl: error: argument unused during compilation: '-Qspectre' [-Werror,-Wunused-command-line-argument]
clang-cl: error: argument unused during compilation: '-MP' [-Werror,-Wunused-command-line-argument]
[2/38] Building CXX object source\CMakeFiles\ze_loader.dir\lib\zel_tracing_libapi.cpp.obj
FAILED: source/CMakeFiles/ze_loader.dir/lib/zel_tracing_libapi.cpp.obj 
C:\DevDepo\oneAPI\compiler\latest\windows\bin\icx.exe  /nologo /TP -DL0_LOADER_VERSION=\"1\" -DL0_VALIDATION_LAYER_SUPPORTED_VERSION=\"1\" -Dze_loader_EXPORTS -IC:\DevDepo\oneapi-llvm\build\tools\sycl\plugins\level_zero\level_zero\level_zero_loader\include -IC:\DevDepo\oneapi-llvm\build\tools\sycl\plugins\level_zero\level_zero\level_zero_loader\source\wrapper\include -IC:\DevDepo\oneapi-llvm\build\tools\sycl\plugins\level_zero\level_zero\level_zero_loader -IC:\DevDepo\oneapi-llvm\build\tools\sycl\plugins\level_zero\level_zero\level_zero_loader\source\inc /DWIN32 /D_WINDOWS /W3 /GR /EHsc /guard:cf /Qspectre /WX /W3 /wd4996 /MP /MT /O2 /Ob2 /DNDEBUG /Zi -Qstd=c++14 -QMD -QMT source\CMakeFiles\ze_loader.dir\lib\zel_tracing_libapi.cpp.obj -QMF source\CMakeFiles\ze_loader.dir\lib\zel_tracing_libapi.cpp.obj.d /Fosource\CMakeFiles\ze_loader.dir\lib\zel_tracing_libapi.cpp.obj /Fdsource\CMakeFiles\ze_loader.dir\ -c C:\DevDepo\oneapi-llvm\build\tools\sycl\plugins\level_zero\level_zero\level_zero_loader\source\lib\zel_tracing_libapi.cpp
clang-cl: error: argument unused during compilation: '-Qspectre' [-Werror,-Wunused-command-line-argument]
clang-cl: error: argument unused during compilation: '-MP' [-Werror,-Wunused-command-line-argument]
...
eero-t commented 1 year ago

I don't use Windows, but I assume /MP and/Qspectre options actually work with (latest?) MSVC, i.e. you should file this bug also against clang-cl (which is supposed to emulate MSVC options). Bug on level-zero CMakefile is not checking that these options work with the available MSVC version, before using them.