Skip to content

Commit

Permalink
[SYCL][Test] Add regression test for sycl::vec compilation error in…
Browse files Browse the repository at this point in the history
… windows, debug (#16802)

Test to isolate `sycl::vec` regression after
#14130. This PR caused `sycl::vec` to
use `std::array` as its underlying storage. However, operations on
`std::array` may emit debug-mode-only functions, on which the device
compiler may fail.
  • Loading branch information
uditagarwal97 authored Jan 27, 2025
1 parent e923fbb commit c7cce70
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions sycl/test/regression/vec_array_windows.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// Test to isolate sycl::vec regression after
// https://github.com/intel/llvm/pull/14130. This PR caused sycl::vec to use
// std::array as its underlying storage. However, operations on std::array
// may emit debug-mode-only functions, on which the device compiler may fail.

// REQUIRES: windows

// RUN: %clangxx -fsycl -D_DEBUG %s -fsycl-device-only -Xclang -verify %s -Xclang -verify-ignore-unexpected=note,warning

#include <sycl/sycl.hpp>

// expected-error@* {{SYCL kernel cannot call a variadic function}}
// expected-error@* {{SYCL kernel cannot call an undefined function without SYCL_EXTERNAL attribute}}
// expected-error@* {{SYCL kernel cannot call an undefined function without SYCL_EXTERNAL attribute}}
SYCL_EXTERNAL auto GetFirstElement(sycl::vec<int, 3> v) { return v[0]; }

0 comments on commit c7cce70

Please sign in to comment.