Skip to content

Commit 747507a

Browse files
committed
fix volatile
1 parent bd39eb9 commit 747507a

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
@@ -79,7 +79,7 @@ extern "C" int __ulock_wake(uint32_t operation, void* addr, uint64_t wake_value)
7979
# define ULF_WAKE_ALL 0x00000100
8080

8181
template <std::size_t _Size>
82-
static void __libcpp_platform_wait_on_address(void const volatile* __ptr, void const volatile* __val) {
82+
static void __libcpp_platform_wait_on_address(void const volatile* __ptr, void const* __val) {
8383
static_assert(_Size == 8 || _Size == 4, "Can only wait on 8 bytes or 4 bytes value");
8484
char buffer[_Size];
8585
std::memcpy(&buffer, const_cast<const void*>(__val), _Size);
@@ -150,7 +150,7 @@ static void __contention_notify(
150150
template <std::size_t _Size>
151151
static void __contention_wait(__cxx_atomic_contention_t volatile* __waiter_count,
152152
void const volatile* __address_to_wait,
153-
void const volatile* __old_value) {
153+
void const* __old_value) {
154154
__cxx_atomic_fetch_add(__waiter_count, __cxx_contention_t(1), memory_order_relaxed);
155155
// https://llvm.org/PR109290
156156
// There are no platform guarantees of a memory barrier in the platform wait implementation
@@ -238,7 +238,7 @@ _LIBCPP_EXPORTED_FROM_ABI void __libcpp_atomic_notify_all_global_table(void cons
238238

239239
template <std::size_t _Size>
240240
_LIBCPP_EXPORTED_FROM_ABI void
241-
__libcpp_atomic_wait_native(void const volatile* __address, void const volatile* __old_value) noexcept {
241+
__libcpp_atomic_wait_native(void const volatile* __address, void const* __old_value) noexcept {
242242
__contention_wait<_Size>(__get_native_waiter_count(__address), __address, __old_value);
243243
}
244244

@@ -260,10 +260,10 @@ _LIBCPP_EXPORTED_FROM_ABI void __libcpp_atomic_notify_all_native(void const vola
260260
#elif defined(__APPLE__) && defined(_LIBCPP_USE_ULOCK)
261261

262262
template _LIBCPP_EXPORTED_FROM_ABI void
263-
__libcpp_atomic_wait_native<4>(void const volatile* __address, void const volatile* __old_value) noexcept;
263+
__libcpp_atomic_wait_native<4>(void const volatile* __address, void const* __old_value) noexcept;
264264

265265
template _LIBCPP_EXPORTED_FROM_ABI void
266-
__libcpp_atomic_wait_native<8>(void const volatile* __address, void const volatile* __old_value) noexcept;
266+
__libcpp_atomic_wait_native<8>(void const volatile* __address, void const* __old_value) noexcept;
267267

268268
template _LIBCPP_EXPORTED_FROM_ABI void __libcpp_atomic_notify_one_native<4>(void const volatile* __location) noexcept;
269269

0 commit comments

Comments
 (0)