Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
miniaudio
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
miniaudio
Commits
afb121e2
Commit
afb121e2
authored
Apr 28, 2024
by
David Reid
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update c89atomic.
parent
855628f1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
7 deletions
+10
-7
miniaudio.h
miniaudio.h
+10
-7
No files found.
miniaudio.h
View file @
afb121e2
...
...
@@ -14062,7 +14062,7 @@ static MA_INLINE ma_int32 ma_dither_s32(ma_dither_mode ditherMode, ma_int32 dith
Atomics
**************************************************************************************************************************************************************/
/*
ma_
atomic.h begin */
/*
c89
atomic.h begin */
#ifndef ma_atomic_h
#if defined(__cplusplus)
extern "C" {
...
...
@@ -14788,12 +14788,12 @@ typedef int ma_atomic_memory_order;
typedef ma_uint8 ma_atomic_flag;
#define ma_atomic_flag_test_and_set_explicit(ptr, order) (ma_bool32)ma_atomic_test_and_set_explicit_8(ptr, order)
#define ma_atomic_flag_clear_explicit(ptr, order) ma_atomic_clear_explicit_8(ptr, order)
#define
c89atoim
c_flag_load_explicit(ptr, order) ma_atomic_load_explicit_8(ptr, order)
#define
ma_atomi
c_flag_load_explicit(ptr, order) ma_atomic_load_explicit_8(ptr, order)
#else
typedef ma_uint32 ma_atomic_flag;
#define ma_atomic_flag_test_and_set_explicit(ptr, order) (ma_bool32)ma_atomic_test_and_set_explicit_32(ptr, order)
#define ma_atomic_flag_clear_explicit(ptr, order) ma_atomic_clear_explicit_32(ptr, order)
#define
c89atoim
c_flag_load_explicit(ptr, order) ma_atomic_load_explicit_32(ptr, order)
#define
ma_atomi
c_flag_load_explicit(ptr, order) ma_atomic_load_explicit_32(ptr, order)
#endif
#elif defined(__clang__) || (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)))
#define MA_ATOMIC_HAS_NATIVE_COMPARE_EXCHANGE
...
...
@@ -14874,15 +14874,18 @@ typedef int ma_atomic_memory_order;
__atomic_compare_exchange_n(dst, &expected, desired, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
return expected;
}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Watomic-alignment"
static MA_INLINE ma_uint64 ma_atomic_compare_and_swap_64(volatile ma_uint64* dst, ma_uint64 expected, ma_uint64 desired)
{
__atomic_compare_exchange_n(dst, &expected, desired, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
return expected;
}
#pragma clang diagnostic pop
typedef ma_uint8 ma_atomic_flag;
#define ma_atomic_flag_test_and_set_explicit(dst, order) (ma_bool32)__atomic_test_and_set(dst, order)
#define ma_atomic_flag_clear_explicit(dst, order) __atomic_clear(dst, order)
#define
c89atoim
c_flag_load_explicit(ptr, order) ma_atomic_load_explicit_8(ptr, order)
#define
ma_atomi
c_flag_load_explicit(ptr, order) ma_atomic_load_explicit_8(ptr, order)
#else
#define ma_atomic_memory_order_relaxed 1
#define ma_atomic_memory_order_consume 2
...
...
@@ -15396,7 +15399,7 @@ typedef int ma_atomic_memory_order;
typedef ma_uint8 ma_atomic_flag;
#define ma_atomic_flag_test_and_set_explicit(ptr, order) (ma_bool32)ma_atomic_test_and_set_explicit_8(ptr, order)
#define ma_atomic_flag_clear_explicit(ptr, order) ma_atomic_clear_explicit_8(ptr, order)
#define
c89atoim
c_flag_load_explicit(ptr, order) ma_atomic_load_explicit_8(ptr, order)
#define
ma_atomi
c_flag_load_explicit(ptr, order) ma_atomic_load_explicit_8(ptr, order)
#endif
#if !defined(MA_ATOMIC_HAS_NATIVE_COMPARE_EXCHANGE)
#if defined(MA_ATOMIC_HAS_8)
...
...
@@ -15921,7 +15924,7 @@ static MA_INLINE void ma_atomic_spinlock_lock(volatile ma_atomic_spinlock* pSpin
if (ma_atomic_flag_test_and_set_explicit(pSpinlock, ma_atomic_memory_order_acquire) == 0) {
break;
}
while (
c89atoim
c_flag_load_explicit(pSpinlock, ma_atomic_memory_order_relaxed) == 1) {
while (
ma_atomi
c_flag_load_explicit(pSpinlock, ma_atomic_memory_order_relaxed) == 1) {
}
}
}
...
...
@@ -15936,7 +15939,7 @@ static MA_INLINE void ma_atomic_spinlock_unlock(volatile ma_atomic_spinlock* pSp
}
#endif
#endif
/*
ma_
atomic.h end */
/*
c89
atomic.h end */
#define MA_ATOMIC_SAFE_TYPE_IMPL(c89TypeExtension, type) \
static MA_INLINE ma_##type ma_atomic_##type##_get(ma_atomic_##type* x) \
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment