Skip to content

Commit c5d6769

Browse files
committed
fix volatile
1 parent 62a774e commit c5d6769

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

libcxx/src/atomic.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ extern "C" int __ulock_wake(uint32_t operation, void* addr, uint64_t wake_value)
8484
# define ULF_WAKE_ALL 0x00000100
8585

8686
template <std::size_t _Size>
87-
static void __libcpp_platform_wait_on_address(void const volatile* __ptr, void const volatile* __val) {
87+
static void __libcpp_platform_wait_on_address(void const volatile* __ptr, void const* __val) {
8888
static_assert(_Size == 8 || _Size == 4, "Can only wait on 8 bytes or 4 bytes value");
8989
char buffer[_Size];
9090
std::memcpy(&buffer, const_cast<const void*>(__val), _Size);
@@ -219,7 +219,7 @@ static void __contention_notify(
219219
template <std::size_t _Size>
220220
static void __contention_wait(__cxx_atomic_contention_t volatile* __waiter_count,
221221
void const volatile* __address_to_wait,
222-
void const volatile* __old_value) {
222+
void const* __old_value) {
223223
__cxx_atomic_fetch_add(__waiter_count, __cxx_contention_t(1), memory_order_relaxed);
224224
// https://llvm.org/PR109290
225225
// There are no platform guarantees of a memory barrier in the platform wait implementation
@@ -307,7 +307,7 @@ _LIBCPP_EXPORTED_FROM_ABI void __libcpp_atomic_notify_all_global_table(void cons
307307

308308
template <std::size_t _Size>
309309
_LIBCPP_EXPORTED_FROM_ABI void
310-
__libcpp_atomic_wait_native(void const volatile* __address, void const volatile* __old_value) noexcept {
310+
__libcpp_atomic_wait_native(void const volatile* __address, void const* __old_value) noexcept {
311311
__contention_wait<_Size>(__get_native_waiter_count(__address), __address, __old_value);
312312
}
313313

@@ -329,10 +329,10 @@ _LIBCPP_EXPORTED_FROM_ABI void __libcpp_atomic_notify_all_native(void const vola
329329
#elif defined(__APPLE__) && defined(_LIBCPP_USE_ULOCK)
330330

331331
template _LIBCPP_EXPORTED_FROM_ABI void
332-
__libcpp_atomic_wait_native<4>(void const volatile* __address, void const volatile* __old_value) noexcept;
332+
__libcpp_atomic_wait_native<4>(void const volatile* __address, void const* __old_value) noexcept;
333333

334334
template _LIBCPP_EXPORTED_FROM_ABI void
335-
__libcpp_atomic_wait_native<8>(void const volatile* __address, void const volatile* __old_value) noexcept;
335+
__libcpp_atomic_wait_native<8>(void const volatile* __address, void const* __old_value) noexcept;
336336

337337
template _LIBCPP_EXPORTED_FROM_ABI void __libcpp_atomic_notify_one_native<4>(void const volatile* __location) noexcept;
338338

0 commit comments

Comments
 (0)