Skip to content

Commit 14cb678

Browse files
committed
[OpenCL] allow generic address and non-generic defs for CL3.0
This allows both sets of definitions to exist on CL 3.0 Reviewed By: Anastasia Differential Revision: https://reviews.llvm.org/D107318
1 parent e1574c5 commit 14cb678

File tree

1 file changed

+38
-19
lines changed

1 file changed

+38
-19
lines changed

clang/lib/Headers/opencl-c.h

Lines changed: 38 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13300,7 +13300,8 @@ void __ovld atomic_init(volatile atomic_ulong *object, ulong value);
1330013300
void __ovld atomic_init(volatile atomic_double *object, double value);
1330113301
#endif //cl_khr_fp64
1330213302
#endif
13303-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
13303+
#endif //defined(__opencl_c_generic_address_space)
13304+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1330413305
void __ovld atomic_init(volatile __global atomic_int *object, int value);
1330513306
void __ovld atomic_init(volatile __local atomic_int *object, int value);
1330613307
void __ovld atomic_init(volatile __global atomic_uint *object, uint value);
@@ -13360,7 +13361,8 @@ ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, ulong operand);
1336013361
uintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *object, ptrdiff_t operand);
1336113362
uintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *object, ptrdiff_t operand);
1336213363
#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13363-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
13364+
#endif //defined(__opencl_c_generic_address_space)
13365+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1336413366
int __ovld atomic_fetch_add(volatile __global atomic_int *object, int operand);
1336513367
int __ovld atomic_fetch_add(volatile __local atomic_int *object, int operand);
1336613368
uint __ovld atomic_fetch_add(volatile __global atomic_uint *object, uint operand);
@@ -13478,7 +13480,8 @@ ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong oper
1347813480
uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
1347913481
uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
1348013482
#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13481-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
13483+
#endif //defined(__opencl_c_generic_address_space)
13484+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1348213485
int __ovld atomic_fetch_add_explicit(volatile __global atomic_int *object, int operand, memory_order order);
1348313486
int __ovld atomic_fetch_add_explicit(volatile __local atomic_int *object, int operand, memory_order order);
1348413487
uint __ovld atomic_fetch_add_explicit(volatile __global atomic_uint *object, uint operand, memory_order order);
@@ -13595,7 +13598,8 @@ ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong oper
1359513598
uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
1359613599
uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
1359713600
#endif
13598-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
13601+
#endif //defined(__opencl_c_generic_address_space)
13602+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1359913603
int __ovld atomic_fetch_add_explicit(volatile __global atomic_int *object, int operand, memory_order order, memory_scope scope);
1360013604
int __ovld atomic_fetch_add_explicit(volatile __local atomic_int *object, int operand, memory_order order, memory_scope scope);
1360113605
uint __ovld atomic_fetch_add_explicit(volatile __global atomic_uint *object, uint operand, memory_order order, memory_scope scope);
@@ -13693,7 +13697,8 @@ void __ovld atomic_store(volatile atomic_double *object, double desired);
1369313697
void __ovld atomic_store(volatile atomic_long *object, long desired);
1369413698
void __ovld atomic_store(volatile atomic_ulong *object, ulong desired);
1369513699
#endif
13696-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
13700+
#endif //defined(__opencl_c_generic_address_space)
13701+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1369713702
void __ovld atomic_store(volatile __global atomic_int *object, int desired);
1369813703
void __ovld atomic_store(volatile __local atomic_int *object, int desired);
1369913704
void __ovld atomic_store(volatile __global atomic_uint *object, uint desired);
@@ -13725,7 +13730,8 @@ void __ovld atomic_store_explicit(volatile atomic_double *object, double desired
1372513730
void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order);
1372613731
void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
1372713732
#endif
13728-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
13733+
#endif //defined(__opencl_c_generic_address_space)
13734+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1372913735
void __ovld atomic_store_explicit(volatile __global atomic_int *object, int desired, memory_order order);
1373013736
void __ovld atomic_store_explicit(volatile __local atomic_int *object, int desired, memory_order order);
1373113737
void __ovld atomic_store_explicit(volatile __global atomic_uint *object, uint desired, memory_order order);
@@ -13756,7 +13762,8 @@ void __ovld atomic_store_explicit(volatile atomic_double *object, double desired
1375613762
void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
1375713763
void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
1375813764
#endif
13759-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
13765+
#endif //defined(__opencl_c_generic_address_space)
13766+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1376013767
void __ovld atomic_store_explicit(volatile __global atomic_int *object, int desired, memory_order order, memory_scope scope);
1376113768
void __ovld atomic_store_explicit(volatile __local atomic_int *object, int desired, memory_order order, memory_scope scope);
1376213769
void __ovld atomic_store_explicit(volatile __global atomic_uint *object, uint desired, memory_order order, memory_scope scope);
@@ -13788,7 +13795,8 @@ double __ovld atomic_load(volatile atomic_double *object);
1378813795
long __ovld atomic_load(volatile atomic_long *object);
1378913796
ulong __ovld atomic_load(volatile atomic_ulong *object);
1379013797
#endif
13791-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
13798+
#endif //defined(__opencl_c_generic_address_space)
13799+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1379213800
int __ovld atomic_load(volatile __global atomic_int *object);
1379313801
int __ovld atomic_load(volatile __local atomic_int *object);
1379413802
uint __ovld atomic_load(volatile __global atomic_uint *object);
@@ -13820,7 +13828,8 @@ double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order
1382013828
long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order);
1382113829
ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order);
1382213830
#endif
13823-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
13831+
#endif //defined(__opencl_c_generic_address_space)
13832+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1382413833
int __ovld atomic_load_explicit(volatile __global atomic_int *object, memory_order order);
1382513834
int __ovld atomic_load_explicit(volatile __local atomic_int *object, memory_order order);
1382613835
uint __ovld atomic_load_explicit(volatile __global atomic_uint *object, memory_order order);
@@ -13851,7 +13860,8 @@ double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order
1385113860
long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order, memory_scope scope);
1385213861
ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order, memory_scope scope);
1385313862
#endif
13854-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
13863+
#endif //defined(__opencl_c_generic_address_space)
13864+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1385513865
int __ovld atomic_load_explicit(volatile __global atomic_int *object, memory_order order, memory_scope scope);
1385613866
int __ovld atomic_load_explicit(volatile __local atomic_int *object, memory_order order, memory_scope scope);
1385713867
uint __ovld atomic_load_explicit(volatile __global atomic_uint *object, memory_order order, memory_scope scope);
@@ -13884,7 +13894,8 @@ double __ovld atomic_exchange(volatile atomic_double *object, double desired);
1388413894
long __ovld atomic_exchange(volatile atomic_long *object, long desired);
1388513895
ulong __ovld atomic_exchange(volatile atomic_ulong *object, ulong desired);
1388613896
#endif
13887-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
13897+
#endif //defined(__opencl_c_generic_address_space)
13898+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1388813899
int __ovld atomic_exchange(volatile __global atomic_int *object, int desired);
1388913900
int __ovld atomic_exchange(volatile __local atomic_int *object, int desired);
1389013901
uint __ovld atomic_exchange(volatile __global atomic_uint *object, uint desired);
@@ -13916,7 +13927,8 @@ double __ovld atomic_exchange_explicit(volatile atomic_double *object, double de
1391613927
long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order);
1391713928
ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
1391813929
#endif
13919-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
13930+
#endif //defined(__opencl_c_generic_address_space)
13931+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1392013932
int __ovld atomic_exchange_explicit(volatile __global atomic_int *object, int desired, memory_order order);
1392113933
int __ovld atomic_exchange_explicit(volatile __local atomic_int *object, int desired, memory_order order);
1392213934
uint __ovld atomic_exchange_explicit(volatile __global atomic_uint *object, uint desired, memory_order order);
@@ -13947,7 +13959,8 @@ double __ovld atomic_exchange_explicit(volatile atomic_double *object, double de
1394713959
long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
1394813960
ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
1394913961
#endif
13950-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
13962+
#endif //defined(__opencl_c_generic_address_space)
13963+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1395113964
int __ovld atomic_exchange_explicit(volatile __global atomic_int *object, int desired, memory_order order, memory_scope scope);
1395213965
int __ovld atomic_exchange_explicit(volatile __local atomic_int *object, int desired, memory_order order, memory_scope scope);
1395313966
uint __ovld atomic_exchange_explicit(volatile __global atomic_uint *object, uint desired, memory_order order, memory_scope scope);
@@ -13985,7 +13998,8 @@ bool __ovld atomic_compare_exchange_weak(volatile atomic_long *object, long *exp
1398513998
bool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *object, ulong *expected, ulong desired);
1398613999
bool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *object, ulong *expected, ulong desired);
1398714000
#endif
13988-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
14001+
#endif //defined(__opencl_c_generic_address_space)
14002+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1398914003
bool __ovld atomic_compare_exchange_strong(volatile __global atomic_int *object, __global int *expected, int desired);
1399014004
bool __ovld atomic_compare_exchange_strong(volatile __global atomic_int *object, __local int *expected, int desired);
1399114005
bool __ovld atomic_compare_exchange_strong(volatile __global atomic_int *object, __private int *expected, int desired);
@@ -14094,7 +14108,8 @@ bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *objec
1409414108
bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
1409514109
ulong desired, memory_order success, memory_order failure);
1409614110
#endif
14097-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
14111+
#endif //defined(__opencl_c_generic_address_space)
14112+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1409814113
bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *object, __global int *expected,
1409914114
int desired, memory_order success, memory_order failure);
1410014115
bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *object, __local int *expected,
@@ -14274,7 +14289,8 @@ bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *objec
1427414289
bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
1427514290
ulong desired, memory_order success, memory_order failure, memory_scope scope);
1427614291
#endif
14277-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
14292+
#endif //defined(__opencl_c_generic_address_space)
14293+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1427814294
bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *object, __global int *expected,
1427914295
int desired, memory_order success, memory_order failure, memory_scope scope);
1428014296
bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *object, __local int *expected,
@@ -14430,7 +14446,8 @@ bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong
1443014446
#if defined(__opencl_c_generic_address_space)
1443114447
bool __ovld atomic_flag_test_and_set(volatile atomic_flag *object);
1443214448
void __ovld atomic_flag_clear(volatile atomic_flag *object);
14433-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
14449+
#endif //defined(__opencl_c_generic_address_space)
14450+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1443414451
bool __ovld atomic_flag_test_and_set(volatile __global atomic_flag *object);
1443514452
bool __ovld atomic_flag_test_and_set(volatile __local atomic_flag *object);
1443614453
void __ovld atomic_flag_clear(volatile __global atomic_flag *object);
@@ -14442,7 +14459,8 @@ void __ovld atomic_flag_clear(volatile __local atomic_flag *object);
1444214459
#if defined(__opencl_c_generic_address_space)
1444314460
bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order);
1444414461
void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order);
14445-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
14462+
#endif //defined(__opencl_c_generic_address_space)
14463+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1444614464
bool __ovld atomic_flag_test_and_set_explicit(volatile __global atomic_flag *object, memory_order order);
1444714465
bool __ovld atomic_flag_test_and_set_explicit(volatile __local atomic_flag *object, memory_order order);
1444814466
void __ovld atomic_flag_clear_explicit(volatile __global atomic_flag *object, memory_order order);
@@ -14453,7 +14471,8 @@ void __ovld atomic_flag_clear_explicit(volatile __local atomic_flag *object, mem
1445314471
#if defined(__opencl_c_generic_address_space)
1445414472
bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
1445514473
void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
14456-
#elif __OPENCL_C_VERSION__ >= CL_VERSION_3_0
14474+
#endif //defined(__opencl_c_generic_address_space)
14475+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
1445714476
bool __ovld atomic_flag_test_and_set_explicit(volatile __global atomic_flag *object, memory_order order, memory_scope scope);
1445814477
bool __ovld atomic_flag_test_and_set_explicit(volatile __local atomic_flag *object, memory_order order, memory_scope scope);
1445914478
void __ovld atomic_flag_clear_explicit(volatile __global atomic_flag *object, memory_order order, memory_scope scope);

0 commit comments

Comments
 (0)