Avoid ambiguity in calling atom_add functions.
authorJan Vesely <jan.vesely@rutgers.edu>
Wed, 7 Sep 2016 22:11:02 +0000 (22:11 +0000)
committerJan Vesely <jan.vesely@rutgers.edu>
Wed, 7 Sep 2016 22:11:02 +0000 (22:11 +0000)
clang (since r280553) allows pointer casts in function overloads,
so we need to disambiguate the second argument.

clang might be smarter about overloads in the future
see https://reviews.llvm.org/D24113, but let's be safe in libclc anyway.

llvm-svn: 280871

libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl

index a74158d..cc24d2f 100644 (file)
@@ -2,7 +2,7 @@
 
 #define IMPL(TYPE) \
 _CLC_OVERLOAD _CLC_DEF TYPE atom_dec(global TYPE *p) { \
-  return atom_sub(p, 1); \
+  return atom_sub(p, (TYPE)1); \
 }
 
 IMPL(int)
index 1404b5a..9193ae3 100644 (file)
@@ -2,7 +2,7 @@
 
 #define IMPL(TYPE) \
 _CLC_OVERLOAD _CLC_DEF TYPE atom_inc(global TYPE *p) { \
-  return atom_add(p, 1); \
+  return atom_add(p, (TYPE)1); \
 }
 
 IMPL(int)
index d22c333..cfb3d80 100644 (file)
@@ -2,7 +2,7 @@
 
 #define IMPL(TYPE) \
 _CLC_OVERLOAD _CLC_DEF TYPE atom_dec(local TYPE *p) { \
-  return atom_sub(p, 1); \
+  return atom_sub(p, (TYPE)1); \
 }
 
 IMPL(int)
index 4ba0d06..8ea4738 100644 (file)
@@ -2,7 +2,7 @@
 
 #define IMPL(TYPE) \
 _CLC_OVERLOAD _CLC_DEF TYPE atom_inc(local TYPE *p) { \
-  return atom_add(p, 1); \
+  return atom_add(p, (TYPE)1); \
 }
 
 IMPL(int)