Skip to content

Commit 203402f

Browse files
authored
[SYCLomatic]Fix incorrect return value of atomic_compare_exchange_strong (#694)
Signed-off-by: Ni, Wenhui <[email protected]>
1 parent b0c4136 commit 203402f

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

clang/runtime/dpct-rt/include/atomic.hpp.inc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,7 @@ T1 atomic_compare_exchange_strong(
714714
sycl::atomic_ref<T1, memoryOrder, memoryScope, addressSpace>(*addr);
715715
T1 expected_value = expected;
716716
atm.compare_exchange_strong(expected_value, desired, success, fail);
717-
return expected;
717+
return expected_value;
718718
}
719719

720720
/// Atomically compare the value at \p addr to the value expected and exchange
@@ -754,7 +754,7 @@ T1 atomic_compare_exchange_strong(
754754
auto atm =
755755
sycl::atomic_ref<T1, memoryOrder, memoryScope, addressSpace>(addr[0]);
756756
atm.compare_exchange_strong(expected_value, desired, success, fail);
757-
return expected;
757+
return expected_value;
758758
}
759759
// DPCT_LABEL_END
760760

clang/test/dpct/helper_files_ref/include/atomic.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -637,7 +637,7 @@ T1 atomic_compare_exchange_strong(
637637
sycl::atomic_ref<T1, memoryOrder, memoryScope, addressSpace>(*addr);
638638
T1 expected_value = expected;
639639
atm.compare_exchange_strong(expected_value, desired, success, fail);
640-
return expected;
640+
return expected_value;
641641
}
642642

643643
/// Atomically compare the value at \p addr to the value expected and exchange
@@ -677,7 +677,7 @@ T1 atomic_compare_exchange_strong(
677677
auto atm =
678678
sycl::atomic_ref<T1, memoryOrder, memoryScope, addressSpace>(addr[0]);
679679
atm.compare_exchange_strong(expected_value, desired, success, fail);
680-
return expected;
680+
return expected_value;
681681
}
682682

683683
/// Atomic extension to implement standard APIs in std::atomic

0 commit comments

Comments
 (0)