Skip to content

Embree build failure after pulldown on Windows #22265

@sarnex

Description

@sarnex

Describe the bug

We get the below CC error when trying to build Embree on Windows.
It's failing after this pulldown but I don't know for sure that's the cause.
The error itself seems to be from TBB:

FAILED: kernels/CMakeFiles/embree.dir/sycl/scene_sycl.cpp.obj 
D:\github\_work\llvm\llvm\install\bin\clang++.exe -DEMBREE_LOWEST_ISA -DEMBREE_SYCL_SUPPORT -DEMBREE_TARGET_AVX -DEMBREE_TARGET_AVX2 -DEMBREE_TARGET_SSE2 -DEMBREE_TARGET_SSE42 -DTASKING_TBB -D__INTEL_LLVM_COMPILER -D__TBB_NO_IMPLICIT_LINKAGE=1 -Dembree_EXPORTS -ID:/github/_work/llvm/llvm/embree-build -ID:/github/_work/llvm/llvm/embree-src/kernels/../include -ID:/github/_work/llvm/llvm/embree-src/kernels/level_zero/.. -isystem D:/github/tbb/include -fno-sycl -Wno-bitwise-instead-of-logical -Wno-pessimizing-move -std=c++17 -isystem "D:/github/_work/llvm/llvm/install/bin/../include/sycl" -isystem "D:/github/_work/llvm/llvm/install/bin/../include/" -std=c++17 -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-aliasing -fno-tree-vectorize -D_FORTIFY_SOURCE=2 -fsigned-char -Wall -Wformat -Wformat-security -ffp-model=precise -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt -msse2 -fsycl -fsycl-unnamed-lambda -Xclang -fsycl-allow-func-ptr -Wno-mismatched-tags -Wno-pessimizing-move -Wno-reorder -Wno-unneeded-internal-declaration -Wno-delete-non-abstract-non-virtual-dtor -Wno-dangling-field -Wno-unknown-pragmas -Wno-logical-op-parentheses -g0 -UDEBUG -DNDEBUG -Wno-bitwise-instead-of-logical  -fsycl-targets=spir64 -MD -MT kernels/CMakeFiles/embree.dir/sycl/scene_sycl.cpp.obj -MF kernels\CMakeFiles\embree.dir\sycl\scene_sycl.cpp.obj.d -o kernels/CMakeFiles/embree.dir/sycl/scene_sycl.cpp.obj -c D:/github/_work/llvm/llvm/embree-src/kernels/sycl/scene_sycl.cpp
In file included from D:/github/_work/llvm/llvm/embree-src/kernels/sycl/scene_sycl.cpp:13:
In file included from D:/github/_work/llvm/llvm/embree-src/kernels/sycl\../../common/algorithms/parallel_for.h:6:
In file included from D:/github/_work/llvm/llvm/embree-src/kernels/sycl\../../common/algorithms\../tasking/taskscheduler.h:9:
In file included from D:/github/_work/llvm/llvm/embree-src/kernels/sycl\../../common/algorithms\../tasking\taskschedulertbb.h:31:
In file included from D:/github/tbb/include\tbb/tbb.h:17:
In file included from D:/github/tbb/include\tbb\../oneapi/tbb.h:33:
In file included from D:/github/tbb/include\oneapi/tbb/combinable.h:22:
In file included from D:/github/tbb/include\oneapi/tbb\enumerable_thread_specific.h:26:
In file included from D:/github/tbb/include\oneapi/tbb\concurrent_vector.h:24:
In file included from D:/github/tbb/include\oneapi/tbb\detail/_segment_table.h:25:
D:/github/tbb/include\oneapi/tbb\detail\_exception.h:53:39: error: virtual function 'what' has different calling convention attributes ('const char *() const __attribute__((thiscall))') than the function it overrides (which has calling convention 'const char *() const')
   53 |     const char* __TBB_EXPORTED_METHOD what() const noexcept(true) override;
      |                                       ^
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.44.35207\include\vcruntime_exception.h:94:36: note: overridden virtual function is here
   94 |     _NODISCARD virtual char const* what() const
      |                                    ^
In file included from D:/github/_work/llvm/llvm/embree-src/kernels/sycl/scene_sycl.cpp:13:
In file included from D:/github/_work/llvm/llvm/embree-src/kernels/sycl\../../common/algorithms/parallel_for.h:6:
In file included from D:/github/_work/llvm/llvm/embree-src/kernels/sycl\../../common/algorithms\../tasking/taskscheduler.h:9:
In file included from D:/github/_work/llvm/llvm/embree-src/kernels/sycl\../../common/algorithms\../tasking\taskschedulertbb.h:31:
In file included from D:/github/tbb/include\tbb/tbb.h:17:
In file included from D:/github/tbb/include\tbb\../oneapi/tbb.h:33:
In file included from D:/github/tbb/include\oneapi/tbb/combinable.h:22:
In file included from D:/github/tbb/include\oneapi/tbb\enumerable_thread_specific.h:26:
In file included from D:/github/tbb/include\oneapi/tbb\concurrent_vector.h:24:
In file included from D:/github/tbb/include\oneapi/tbb\detail/_segment_table.h:25:
D:/github/tbb/include\oneapi/tbb\detail\_exception.h:59:39: error: virtual function 'what' has different calling convention attributes ('const char *() const __attribute__((thiscall))') than the function it overrides (which has calling convention 'const char *() const')
   59 |     const char* __TBB_EXPORTED_METHOD what() const noexcept(true) override;
      |                                       ^
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.44.35207\include\vcruntime_exception.h:94:36: note: overridden virtual function is here
   94 |     _NODISCARD virtual char const* what() const
      |                                    ^
In file included from D:/github/_work/llvm/llvm/embree-src/kernels/sycl/scene_sycl.cpp:13:
In file included from D:/github/_work/llvm/llvm/embree-src/kernels/sycl\../../common/algorithms/parallel_for.h:6:
In file included from D:/github/_work/llvm/llvm/embree-src/kernels/sycl\../../common/algorithms\../tasking/taskscheduler.h:9:
In file included from D:/github/_work/llvm/llvm/embree-src/kernels/sycl\../../common/algorithms\../tasking\taskschedulertbb.h:31:
In file included from D:/github/tbb/include\tbb/tbb.h:17:
In file included from D:/github/tbb/include\tbb\../oneapi/tbb.h:33:
In file included from D:/github/tbb/include\oneapi/tbb/combinable.h:22:
In file included from D:/github/tbb/include\oneapi/tbb\enumerable_thread_specific.h:26:
In file included from D:/github/tbb/include\oneapi/tbb\concurrent_vector.h:24:
In file included from D:/github/tbb/include\oneapi/tbb\detail/_segment_table.h:25:
D:/github/tbb/include\oneapi/tbb\detail\_exception.h:65:39: error: virtual function 'what' has different calling convention attributes ('const char *() const __attribute__((thiscall))') than the function it overrides (which has calling convention 'const char *() const')
   65 |     const char* __TBB_EXPORTED_METHOD what() const noexcept(true) override;
      |                                       ^
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.44.35207\include\vcruntime_exception.h:94:36: note: overridden virtual function is here

   94 |     _NODISCARD virtual char const* what() const

      |                                    ^

3 errors generated.

https://github.com/intel/llvm/actions/runs/27183796588/job/80251350108

To reproduce

  1. Include a code snippet that is as short as possible
  2. Specify the command which should be used to compile the program
  3. Specify the command which should be used to launch the program
  4. Indicate what is wrong and what was expected

Environment

  • OS: [e.g Windows/Linux]
  • Target device and vendor: [e.g. Intel GPU]
  • DPC++ version: [e.g. commit hash or output of clang++ --version]
  • Dependencies version: [e.g. the output of sycl-ls --verbose]

Additional context

No response

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions