[clang] 6690b7d - [OpenCL] Ensure atomic_init is guarded with extension

Sven van Haastregt via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 16 07:12:37 PST 2022


Author: Sven van Haastregt
Date: 2022-02-16T15:12:23Z
New Revision: 6690b7d3ac9ab6410b7909207552ce4edbe2147b

URL: https://github.com/llvm/llvm-project/commit/6690b7d3ac9ab6410b7909207552ce4edbe2147b
DIFF: https://github.com/llvm/llvm-project/commit/6690b7d3ac9ab6410b7909207552ce4edbe2147b.diff

LOG: [OpenCL] Ensure atomic_init is guarded with extension

The named and generic address space overloads for atomic_init added
by 50f8abb9f40a ("[OpenCL] Add OpenCL 3.0 atomics to
-fdeclare-opencl-builtins", 2022-02-11) were not guarded by the
corresponding extensions.

Added: 
    

Modified: 
    clang/lib/Sema/OpenCLBuiltins.td

Removed: 
    


################################################################################
diff  --git a/clang/lib/Sema/OpenCLBuiltins.td b/clang/lib/Sema/OpenCLBuiltins.td
index ab30553005729..556d1778625e7 100644
--- a/clang/lib/Sema/OpenCLBuiltins.td
+++ b/clang/lib/Sema/OpenCLBuiltins.td
@@ -1082,8 +1082,10 @@ multiclass OpenCL2Atomics<AddressSpace addrspace, FunctionExtension BaseExt> {
   foreach TypePair = [[AtomicInt, Int], [AtomicUInt, UInt],
                       [AtomicLong, Long], [AtomicULong, ULong],
                       [AtomicFloat, Float], [AtomicDouble, Double]] in {
-    def : Builtin<"atomic_init",
-        [Void, PointerType<VolatileType<TypePair[0]>, addrspace>, TypePair[1]]>;
+    let Extension = BaseExt in {
+      def : Builtin<"atomic_init",
+          [Void, PointerType<VolatileType<TypePair[0]>, addrspace>, TypePair[1]]>;
+    }
     defm : BuiltinAtomicExplicit<"atomic_store",
         [Void, PointerType<VolatileType<TypePair[0]>, addrspace>, TypePair[1]], BaseExt>;
     defm : BuiltinAtomicExplicit<"atomic_load",


        


More information about the cfe-commits mailing list