Skip to content

Commit ac4af52

Browse files
committed
fix: Warnings in C++ test cases
1 parent b01b461 commit ac4af52

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

test/atomics_cxx/ut_int_types.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,12 @@ template <typename TT, bool IsVolatile> struct TestAtomics {
3333
for (int order = vsync::memory_order_relaxed;
3434
order <= vsync::memory_order_seq_cst; order++) {
3535
for (TT v : vals) {
36-
mirror.store(v, static_cast<std::memory_order>(order));
37-
subject.store(v, static_cast<vsync::memory_order>(order));
38-
assert(mirror.load(static_cast<std::memory_order>(order)) ==
39-
subject.load(static_cast<vsync::memory_order>(order)));
36+
auto w_order = order == vsync::memory_order_acquire ? vsync::memory_order_relaxed : order;
37+
auto r_order = order == vsync::memory_order_release ? vsync::memory_order_relaxed : order;
38+
mirror.store(v, static_cast<std::memory_order>(w_order));
39+
subject.store(v, static_cast<vsync::memory_order>(w_order));
40+
assert(mirror.load(static_cast<std::memory_order>(r_order)) ==
41+
subject.load(static_cast<vsync::memory_order>(r_order)));
4042
}
4143
}
4244
}

0 commit comments

Comments
 (0)