aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/InitPreprocessor.cpp
diff options
context:
space:
mode:
authorYaxun Liu <Yaxun.Liu@amd.com>2017-08-15 16:02:49 +0000
committerYaxun Liu <Yaxun.Liu@amd.com>2017-08-15 16:02:49 +0000
commit30d652a447839340ccd4d1b3c49de832abf88ee2 (patch)
tree367349036f40146fde8cff6a53d13c6ba4adc331 /clang/lib/Frontend/InitPreprocessor.cpp
parente1c30f74f7b974daed175db8a73d83ef659c1162 (diff)
downloadllvm-30d652a447839340ccd4d1b3c49de832abf88ee2.zip
llvm-30d652a447839340ccd4d1b3c49de832abf88ee2.tar.gz
llvm-30d652a447839340ccd4d1b3c49de832abf88ee2.tar.bz2
[OpenCL] Support variable memory scope in atomic builtins
Differential Revision: https://reviews.llvm.org/D36580 llvm-svn: 310924
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
-rw-r--r--clang/lib/Frontend/InitPreprocessor.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp
index 28656667..020cf85 100644
--- a/clang/lib/Frontend/InitPreprocessor.cpp
+++ b/clang/lib/Frontend/InitPreprocessor.cpp
@@ -579,10 +579,12 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
// Define macros for the OpenCL memory scope.
// The values should match clang SyncScope enum.
- assert(static_cast<unsigned>(SyncScope::OpenCLWorkGroup) == 1 &&
- static_cast<unsigned>(SyncScope::OpenCLDevice) == 2 &&
- static_cast<unsigned>(SyncScope::OpenCLAllSVMDevices) == 3 &&
- static_cast<unsigned>(SyncScope::OpenCLSubGroup) == 4);
+ static_assert(
+ static_cast<unsigned>(AtomicScopeOpenCLModel::WorkGroup) == 1 &&
+ static_cast<unsigned>(AtomicScopeOpenCLModel::Device) == 2 &&
+ static_cast<unsigned>(AtomicScopeOpenCLModel::AllSVMDevices) == 3 &&
+ static_cast<unsigned>(AtomicScopeOpenCLModel::SubGroup) == 4,
+ "Invalid OpenCL memory scope enum definition");
Builder.defineMacro("__OPENCL_MEMORY_SCOPE_WORK_ITEM", "0");
Builder.defineMacro("__OPENCL_MEMORY_SCOPE_WORK_GROUP", "1");
Builder.defineMacro("__OPENCL_MEMORY_SCOPE_DEVICE", "2");