| author | |
| committer | |
| log | 2a0238e5e3095a9e5a99c3ead64ffd7f98773c64 |
| tree | 79326219dfaea4bd3b59173c610cee9a70c83884 |
| parent | 1240134c8b8b6c4ce9f885f695671363ac4fe10a |
2 files changed, 48 insertions(+), 8 deletions(-)
lib/zig.h+24-4| ... | @@ -3828,8 +3828,18 @@ static inline void zig_msvc_atomic_store_p32(void volatile* obj, void* arg) { | ... | @@ -3828,8 +3828,18 @@ static inline void zig_msvc_atomic_store_p32(void volatile* obj, void* arg) { |
| 3828 | (void)_InterlockedExchangePointer(obj, arg); | 3828 | (void)_InterlockedExchangePointer(obj, arg); |
| 3829 | } | 3829 | } |
| 3830 | 3830 | ||
| 3831 | static inline void* zig_msvc_atomic_load_p32(void volatile* obj) { | 3831 | static inline void* zig_msvc_atomic_load_zig_memory_order_relaxed_p32(void volatile* obj) { |
| 3832 | return (void*)_InterlockedExchangeAdd(obj, 0); | 3832 | return (void*)__iso_volatile_load32(obj); |
| 3833 | } | ||
| 3834 | |||
| 3835 | static inline void* zig_msvc_atomic_load_zig_memory_order_acquire_p32(void volatile* obj) { | ||
| 3836 | void* val = (void*)__iso_volatile_load32(obj); | ||
| 3837 | _ReadWriteBarrier(); | ||
| 3838 | return val; | ||
| 3839 | } | ||
| 3840 | |||
| 3841 | static inline void* zig_msvc_atomic_load_zig_memory_order_seq_cst_p32(void volatile* obj) { | ||
| 3842 | return zig_msvc_atomic_load_zig_memory_order_acquire_p32(obj); | ||
| 3833 | } | 3843 | } |
| 3834 | 3844 | ||
| 3835 | static inline bool zig_msvc_cmpxchg_p32(void volatile* obj, void* expected, void* desired) { | 3845 | static inline bool zig_msvc_cmpxchg_p32(void volatile* obj, void* expected, void* desired) { |
| ... | @@ -3848,8 +3858,18 @@ static inline void zig_msvc_atomic_store_p64(void volatile* obj, void* arg) { | ... | @@ -3848,8 +3858,18 @@ static inline void zig_msvc_atomic_store_p64(void volatile* obj, void* arg) { |
| 3848 | (void)_InterlockedExchangePointer(obj, arg); | 3858 | (void)_InterlockedExchangePointer(obj, arg); |
| 3849 | } | 3859 | } |
| 3850 | 3860 | ||
| 3851 | static inline void* zig_msvc_atomic_load_p64(void volatile* obj) { | 3861 | static inline void* zig_msvc_atomic_load_zig_memory_order_relaxed_p64(void volatile* obj) { |
| 3852 | return (void*)_InterlockedExchangeAdd64(obj, 0); | 3862 | return (void*)__iso_volatile_load64(obj); |
| 3863 | } | ||
| 3864 | |||
| 3865 | static inline void* zig_msvc_atomic_load_zig_memory_order_acquire_p64(void volatile* obj) { | ||
| 3866 | void* val = (void*)__iso_volatile_load64(obj); | ||
| 3867 | _ReadWriteBarrier(); | ||
| 3868 | return val; | ||
| 3869 | } | ||
| 3870 | |||
| 3871 | static inline void* zig_msvc_atomic_load_zig_memory_order_seq_cst_p64(void volatile* obj) { | ||
| 3872 | return zig_msvc_atomic_load_zig_memory_order_acquire_p64(obj); | ||
| 3853 | } | 3873 | } |
| 3854 | 3874 | ||
| 3855 | static inline bool zig_msvc_cmpxchg_p64(void volatile* obj, void* expected, void* desired) { | 3875 | static inline bool zig_msvc_cmpxchg_p64(void volatile* obj, void* expected, void* desired) { |
stage1/zig.h+24-4| ... | @@ -3828,8 +3828,18 @@ static inline void zig_msvc_atomic_store_p32(void volatile* obj, void* arg) { | ... | @@ -3828,8 +3828,18 @@ static inline void zig_msvc_atomic_store_p32(void volatile* obj, void* arg) { |
| 3828 | (void)_InterlockedExchangePointer(obj, arg); | 3828 | (void)_InterlockedExchangePointer(obj, arg); |
| 3829 | } | 3829 | } |
| 3830 | 3830 | ||
| 3831 | static inline void* zig_msvc_atomic_load_p32(void volatile* obj) { | 3831 | static inline void* zig_msvc_atomic_load_zig_memory_order_relaxed_p32(void volatile* obj) { |
| 3832 | return (void*)_InterlockedExchangeAdd(obj, 0); | 3832 | return (void*)__iso_volatile_load32(obj); |
| 3833 | } | ||
| 3834 | |||
| 3835 | static inline void* zig_msvc_atomic_load_zig_memory_order_acquire_p32(void volatile* obj) { | ||
| 3836 | void* val = (void*)__iso_volatile_load32(obj); | ||
| 3837 | _ReadWriteBarrier(); | ||
| 3838 | return val; | ||
| 3839 | } | ||
| 3840 | |||
| 3841 | static inline void* zig_msvc_atomic_load_zig_memory_order_seq_cst_p32(void volatile* obj) { | ||
| 3842 | return zig_msvc_atomic_load_zig_memory_order_acquire_p32(obj); | ||
| 3833 | } | 3843 | } |
| 3834 | 3844 | ||
| 3835 | static inline bool zig_msvc_cmpxchg_p32(void volatile* obj, void* expected, void* desired) { | 3845 | static inline bool zig_msvc_cmpxchg_p32(void volatile* obj, void* expected, void* desired) { |
| ... | @@ -3848,8 +3858,18 @@ static inline void zig_msvc_atomic_store_p64(void volatile* obj, void* arg) { | ... | @@ -3848,8 +3858,18 @@ static inline void zig_msvc_atomic_store_p64(void volatile* obj, void* arg) { |
| 3848 | (void)_InterlockedExchangePointer(obj, arg); | 3858 | (void)_InterlockedExchangePointer(obj, arg); |
| 3849 | } | 3859 | } |
| 3850 | 3860 | ||
| 3851 | static inline void* zig_msvc_atomic_load_p64(void volatile* obj) { | 3861 | static inline void* zig_msvc_atomic_load_zig_memory_order_relaxed_p64(void volatile* obj) { |
| 3852 | return (void*)_InterlockedExchangeAdd64(obj, 0); | 3862 | return (void*)__iso_volatile_load64(obj); |
| 3863 | } | ||
| 3864 | |||
| 3865 | static inline void* zig_msvc_atomic_load_zig_memory_order_acquire_p64(void volatile* obj) { | ||
| 3866 | void* val = (void*)__iso_volatile_load64(obj); | ||
| 3867 | _ReadWriteBarrier(); | ||
| 3868 | return val; | ||
| 3869 | } | ||
| 3870 | |||
| 3871 | static inline void* zig_msvc_atomic_load_zig_memory_order_seq_cst_p64(void volatile* obj) { | ||
| 3872 | return zig_msvc_atomic_load_zig_memory_order_acquire_p64(obj); | ||
| 3853 | } | 3873 | } |
| 3854 | 3874 | ||
| 3855 | static inline bool zig_msvc_cmpxchg_p64(void volatile* obj, void* expected, void* desired) { | 3875 | static inline bool zig_msvc_cmpxchg_p64(void volatile* obj, void* expected, void* desired) { |