-bool cds_atomic_compare_exchange8_v2(void* addr, uint8_t* expected, uint8_t desired,
- int atomic_index_succ, int atomic_index_fail, const char *position )
-{
- uint8_t ret = cds_atomic_compare_exchange8_v1(addr, *expected,
- desired, atomic_index_succ, atomic_index_fail, position);
- if (ret == *expected) return true;
- else return false;
-}
-bool cds_atomic_compare_exchange16_v2(void* addr, uint16_t* expected, uint16_t desired,
- int atomic_index_succ, int atomic_index_fail, const char *position)
-{
- uint16_t ret = cds_atomic_compare_exchange16_v1(addr, *expected,
- desired, atomic_index_succ, atomic_index_fail, position);
- if (ret == *expected) return true;
- else return false;
-}
-bool cds_atomic_compare_exchange32_v2(void* addr, uint32_t* expected, uint32_t desired,
- int atomic_index_succ, int atomic_index_fail, const char *position)
-{
- uint32_t ret = cds_atomic_compare_exchange32_v1(addr, *expected,
- desired, atomic_index_succ, atomic_index_fail, position);
- if (ret == *expected) return true;
- else return false;
-}
-bool cds_atomic_compare_exchange64_v2(void* addr, uint64_t* expected, uint64_t desired,
- int atomic_index_succ, int atomic_index_fail, const char *position)
-{
- uint64_t ret = cds_atomic_compare_exchange64_v1(addr, *expected,
- desired, atomic_index_succ, atomic_index_fail, position);
- if (ret == *expected) return true;
- else return false;
-}
+#define CDSATOMICCASV2(size) \
+ bool cds_atomic_compare_exchange ## size ## _v2(void* addr, uint ## size ## _t* expected, uint ## size ## _t desired, int atomic_index_succ, int atomic_index_fail, const char *position) { \
+ uint ## size ## _t ret = cds_atomic_compare_exchange ## size ## _v1(addr, *expected, desired, atomic_index_succ, atomic_index_fail, position); \
+ if (ret == *expected) {return true;} else {return false;} \
+ }