summaryrefslogtreecommitdiffstats
path: root/openmp/runtime/src/kmp_wait_release.h
diff options
context:
space:
mode:
Diffstat (limited to 'openmp/runtime/src/kmp_wait_release.h')
-rw-r--r--openmp/runtime/src/kmp_wait_release.h26
1 files changed, 12 insertions, 14 deletions
diff --git a/openmp/runtime/src/kmp_wait_release.h b/openmp/runtime/src/kmp_wait_release.h
index 756e557075b..e223dc0c9b9 100644
--- a/openmp/runtime/src/kmp_wait_release.h
+++ b/openmp/runtime/src/kmp_wait_release.h
@@ -235,7 +235,7 @@ __kmp_wait_template(kmp_info_t *this_thr, C *flag,
in_pool = !!TCR_4(this_thr->th.th_in_pool);
if (in_pool != !!this_thr->th.th_active_in_pool) {
if (in_pool) { // Recently transferred from team to pool
- KMP_TEST_THEN_INC32(CCAST(kmp_int32 *, &__kmp_thread_pool_active_nth));
+ KMP_TEST_THEN_INC32(&__kmp_thread_pool_active_nth);
this_thr->th.th_active_in_pool = TRUE;
/* Here, we cannot assert that:
KMP_DEBUG_ASSERT(TCR_4(__kmp_thread_pool_active_nth) <=
@@ -245,7 +245,7 @@ __kmp_wait_template(kmp_info_t *this_thr, C *flag,
inc/dec'd asynchronously by the workers. The two can get out of sync
for brief periods of time. */
} else { // Recently transferred from pool to team
- KMP_TEST_THEN_DEC32(CCAST(kmp_int32 *, &__kmp_thread_pool_active_nth));
+ KMP_TEST_THEN_DEC32(&__kmp_thread_pool_active_nth);
KMP_DEBUG_ASSERT(TCR_4(__kmp_thread_pool_active_nth) >= 0);
this_thr->th.th_active_in_pool = FALSE;
}
@@ -374,13 +374,13 @@ template <> struct flag_traits<kmp_uint32> {
static const flag_type t = flag32;
static inline flag_t tcr(flag_t f) { return TCR_4(f); }
static inline flag_t test_then_add4(volatile flag_t *f) {
- return KMP_TEST_THEN_ADD4_32(RCAST(kmp_int32 *, CCAST(flag_t *, f)));
+ return KMP_TEST_THEN_ADD4_32(RCAST(volatile kmp_int32 *, f));
}
static inline flag_t test_then_or(volatile flag_t *f, flag_t v) {
- return KMP_TEST_THEN_OR32(CCAST(flag_t *, f), v);
+ return KMP_TEST_THEN_OR32(f, v);
}
static inline flag_t test_then_and(volatile flag_t *f, flag_t v) {
- return KMP_TEST_THEN_AND32(CCAST(flag_t *, f), v);
+ return KMP_TEST_THEN_AND32(f, v);
}
};
@@ -389,13 +389,13 @@ template <> struct flag_traits<kmp_uint64> {
static const flag_type t = flag64;
static inline flag_t tcr(flag_t f) { return TCR_8(f); }
static inline flag_t test_then_add4(volatile flag_t *f) {
- return KMP_TEST_THEN_ADD4_64(RCAST(kmp_int64 *, CCAST(flag_t *, f)));
+ return KMP_TEST_THEN_ADD4_64(RCAST(volatile kmp_int64 *, f));
}
static inline flag_t test_then_or(volatile flag_t *f, flag_t v) {
- return KMP_TEST_THEN_OR64(CCAST(flag_t *, f), v);
+ return KMP_TEST_THEN_OR64(f, v);
}
static inline flag_t test_then_and(volatile flag_t *f, flag_t v) {
- return KMP_TEST_THEN_AND64(CCAST(flag_t *, f), v);
+ return KMP_TEST_THEN_AND64(f, v);
}
};
@@ -562,7 +562,7 @@ class kmp_flag_oncore : public kmp_flag<kmp_uint64> {
itt_sync_obj; /**< ITT object that must be passed to new flag location. */
#endif
unsigned char &byteref(volatile kmp_uint64 *loc, size_t offset) {
- return RCAST(unsigned char *, CCAST(kmp_uint64 *, loc))[offset];
+ return (RCAST(unsigned char *, CCAST(kmp_uint64 *, loc)))[offset];
}
public:
@@ -626,16 +626,14 @@ public:
} else {
kmp_uint64 mask = 0;
byteref(&mask, offset) = 1;
- KMP_TEST_THEN_OR64(CCAST(kmp_uint64 *, get()), mask);
+ KMP_TEST_THEN_OR64(get(), mask);
}
}
kmp_uint64 set_sleeping() {
- return KMP_TEST_THEN_OR64(CCAST(kmp_uint64 *, get()),
- KMP_BARRIER_SLEEP_STATE);
+ return KMP_TEST_THEN_OR64(get(), KMP_BARRIER_SLEEP_STATE);
}
kmp_uint64 unset_sleeping() {
- return KMP_TEST_THEN_AND64(CCAST(kmp_uint64 *, get()),
- ~KMP_BARRIER_SLEEP_STATE);
+ return KMP_TEST_THEN_AND64(get(), ~KMP_BARRIER_SLEEP_STATE);
}
bool is_sleeping_val(kmp_uint64 old_loc) {
return old_loc & KMP_BARRIER_SLEEP_STATE;
OpenPOWER on IntegriCloud