Add the memory_scope_all_devices enum value, which is restricted to
OpenCL 3.0 or newer and the __opencl_c_atomic_scope_all_devices
feature. Also guard memory_scope_all_svm_devices accordingly, which
is already available in OpenCL 2.0.
The __opencl_c_atomic_scope_all_devices feature is header-only, so
set its define to 1 in opencl-c-base.h. This is done
unconditionally at the moment, as the mechanism for disabling
header-only options hasn't been decided yet.
This patch only adds a negative test for now. Ideally adding a CL3.0
run line to atomic-ops.cl should suffice as a positive test, but we
cannot do that yet until (at least) generic address spaces and program
scope variables are supported in OpenCL 3.0 mode.
I think we should at least add a defined(__SPIR__) check though? Otherwise it won't be correct for other targets using the same header.