diff options
| author | Yaochenger <[email protected]> | 2023-03-30 11:06:21 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-03-30 11:06:21 +0800 |
| commit | 38eb3fc40f817ea1dce5223a9bac0d2d3b578bd2 (patch) | |
| tree | d6da375ea6997661ef9be1766ba31d43c085c5b4 /libcpu | |
| parent | eec78d9f5d3f0a944500a1cac5802dfee2befc7b (diff) | |
[utest][atomic]添加返回值测试 (#7124)
* [utest][atomic]添加返回值测试
Diffstat (limited to 'libcpu')
| -rw-r--r-- | libcpu/arm/common/atomic_arm.c | 4 | ||||
| -rw-r--r-- | libcpu/risc-v/common/atomic_riscv.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/libcpu/arm/common/atomic_arm.c b/libcpu/arm/common/atomic_arm.c index 81ada079f3..bcdb496317 100644 --- a/libcpu/arm/common/atomic_arm.c +++ b/libcpu/arm/common/atomic_arm.c @@ -77,7 +77,7 @@ rt_atomic_t rt_hw_atomic_load(volatile rt_atomic_t *ptr) { oldval = __LDREXW(ptr); } while ((__STREXW(oldval, ptr)) != 0U); - return *ptr; + return oldval; } void rt_hw_atomic_store(volatile rt_atomic_t *ptr, rt_atomic_t val) @@ -166,7 +166,7 @@ rt_atomic_t rt_hw_atomic_flag_test_and_set(volatile rt_atomic_t *ptr) return oldval; } -rt_atomic_t rt_hw_atomic_compare_exchange_strong(volatile rt_atomic_t *ptr, rt_atomic_t *old, rt_atomic_t new) +rt_atomic_t rt_hw_atomic_compare_exchange_strong(volatile rt_atomic_t *ptr, volatile rt_atomic_t *old, rt_atomic_t new) { rt_atomic_t result; rt_atomic_t temp = *old; diff --git a/libcpu/risc-v/common/atomic_riscv.c b/libcpu/risc-v/common/atomic_riscv.c index 8a9ef2c8f5..6a8cb99787 100644 --- a/libcpu/risc-v/common/atomic_riscv.c +++ b/libcpu/risc-v/common/atomic_riscv.c @@ -120,7 +120,7 @@ void rt_hw_atomic_flag_clear(volatile rt_atomic_t *ptr) #endif } -rt_atomic_t rt_hw_atomic_compare_exchange_strong(volatile rt_atomic_t *ptr, rt_atomic_t *old, rt_atomic_t new) +rt_atomic_t rt_hw_atomic_compare_exchange_strong(volatile rt_atomic_t *ptr, volatile rt_atomic_t *old, rt_atomic_t new) { rt_atomic_t tmp = *old; rt_atomic_t result; |
