Skip to content

Commit 52fad5a

Browse files
[SYCL] Deprecate sycl::atomics in SYCL 2020 mode (#5440)
Explicitly marked class cl::sycl::atomic as deprecated to meet an ad hoc requirement of new SYCL standard.
1 parent b371e3c commit 52fad5a

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

sycl/include/CL/sycl/atomic.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,8 @@ namespace sycl {
168168

169169
template <typename T, access::address_space addressSpace =
170170
access::address_space::global_space>
171-
class atomic {
171+
class __SYCL2020_DEPRECATED(
172+
"sycl::atomic is deprecated since SYCL 2020") atomic {
172173
friend class atomic<T, access::address_space::global_space>;
173174
static_assert(detail::IsValidAtomicType<T>::value,
174175
"Invalid SYCL atomic type. Valid types are: int, "

sycl/test/warnings/sycl_2020_deprecations.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
// RUN: %clangxx %fsycl-host-only -fsyntax-only -sycl-std=2020 -Xclang -verify -Xclang -verify-ignore-unexpected=note %s -o %t.out
2-
// RUN: %clangxx %fsycl-host-only -fsyntax-only -Xclang -verify -Xclang -verify-ignore-unexpected=note %s -o %t.out
3-
// RUN: %clangxx %fsycl-host-only -fsyntax-only -sycl-std=2017 -Xclang -verify -Xclang -verify-ignore-unexpected=note %s -o %t.out
4-
// RUN: %clangxx %fsycl-host-only -fsyntax-only -sycl-std=1.2.1 -Xclang -verify -Xclang -verify-ignore-unexpected=note %s -o %t.out
52

63
#include <CL/sycl.hpp>
74
#include <sycl/ext/intel/online_compiler.hpp>
@@ -176,6 +173,11 @@ int main() {
176173

177174
// expected-warning@+1{{'barrier' is deprecated: use 'ext_oneapi_barrier' instead}}
178175
Queue.submit([&](sycl::handler &CGH) { CGH.barrier(); });
179-
176+
177+
cl::sycl::multi_ptr<int, cl::sycl::access::address_space::global_space> a(
178+
nullptr);
179+
// expected-warning@+1 {{'atomic<int, sycl::access::address_space::global_space>' is deprecated: sycl::atomic is deprecated since SYCL 2020}}
180+
cl::sycl::atomic<int> b(a);
181+
180182
return 0;
181183
}

0 commit comments

Comments
 (0)