From df796292c45421f0e67d618f4ab21b1926107ee4 Mon Sep 17 00:00:00 2001 From: Greg Lueck Date: Wed, 11 Mar 2026 11:06:11 -0400 Subject: [PATCH] Clarify "atomic_ref" with private address space The spec was not clear about this before. The OpenCL SPIR-V environment specification says that atomic operations on objects in the address space produce undefined behavior. Therefore, it seems sensible to make the same clarification in SYCL. --- adoc/chapters/programming_interface.adoc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/adoc/chapters/programming_interface.adoc b/adoc/chapters/programming_interface.adoc index f480fc9b2..6c4bbfe81 100644 --- a/adoc/chapters/programming_interface.adoc +++ b/adoc/chapters/programming_interface.adoc @@ -20648,6 +20648,11 @@ operations in device code with a syntax similar to the {cpp} standard [code]#std::atomic_ref#. The [code]#sycl::atomic_ref# class must not be used in host code. +The referenced object of type [code]#T# must not reside in the private address +space. +If [code]#atomic_ref# is constructed with a reference to an object in the +private address space, the behavior is undefined. + Unlike [code]#std::atomic_ref#, [code]#sycl::atomic_ref# does not provide a default memory ordering for its operations. Instead, the application must specify a default ordering via the