17 #ifndef __SYCL_DEVICE_ONLY__
20 #include <type_traits>
24 namespace ext::oneapi {
29 "use 'sycl::memory_order_relaxed' instead") = memory_order::relaxed;
31 "use 'sycl::memory_order_acquire' instead") = memory_order::acquire;
33 "use 'sycl::memory_order_release' instead") = memory_order::release;
35 "use 'sycl::memory_order_acq_rel' instead") = memory_order::acq_rel;
37 "use 'sycl::memory_order_seq_cst' instead") = memory_order::seq_cst;
42 "use 'sycl::memory_scope_work_item' instead") = memory_scope::work_item;
44 "use 'sycl::memory_scope_sub_group' instead") = memory_scope::sub_group;
46 "use 'sycl::memory_scope_work_group' instead") = memory_scope::work_group;
48 "use 'sycl::memory_scope_device' instead") = memory_scope::device;
50 "use 'sycl::memory_scope_system' instead") = memory_scope::system;
52 #ifndef __SYCL_DEVICE_ONLY__
56 "use 'sycl::detail::getStdMemoryOrder(sycl::memory_order)' instead")
60 case memory_order::relaxed:
62 case memory_order::__consume_unsupported:
63 return std::memory_order_consume;
64 case memory_order::acquire:
66 case memory_order::release:
68 case memory_order::acq_rel:
70 case memory_order::seq_cst:
#define __SYCL_INLINE_VER_NAMESPACE(X)
#define __SYCL2020_DEPRECATED(message)
static std::memory_order getStdMemoryOrder(__spv::MemorySemanticsMask::Flag)
sycl::ext::oneapi::memory_order memory_order
constexpr auto memory_scope_work_group
constexpr auto memory_scope_sub_group
constexpr auto memory_order_release
constexpr auto memory_order_relaxed
constexpr auto memory_order_acq_rel
constexpr auto memory_scope_system
constexpr auto memory_scope_device
constexpr auto memory_order_seq_cst
constexpr auto memory_order_acquire
constexpr auto memory_scope_work_item
---— Error handling, matching OpenCL plugin semantics.