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
#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)
#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)
#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)
#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)