[PATCH] D17438: [OpenCL] Add Sema checks for atomics and implicit declaration

Anastasia Stulova via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 23 08:25:29 PST 2016

Anastasia added a comment.

I agree there seems to be nothing specifically on this topic in OpenCL spec. However, I wouldn't modify Clang and rely on its default behavior:

1. In C99 gives a warning
2. For some targets set up in a special way (i.e. SPIR) gives an error

Comment at: lib/Sema/SemaInit.cpp:6156
@@ +6155,3 @@
+                       TyQualifiers.getAddressSpace() == LangAS::opencl_global;
+    if (!HasGlobalAS && Entity.getKind() == InitializedEntity::EK_Variable &&
+        Args.size() > 0) {
Actually I don't see any statement in spec that forbids initialization of atomic variables inside the functions. It just says that ATOMIC_VAR_INIT can only be used with global variables, but you are not checking that here.


More information about the cfe-commits mailing list