aboutsummaryrefslogtreecommitdiffstats
path: root/compat
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2017-03-07 00:04:46 -0300
committerJames Almer <jamrial@gmail.com>2017-03-18 12:13:46 -0300
commit824d4062a172bd435fea7cbf8d6b55583c73e70e (patch)
treecb8ff7b85a582745e5366c10949acc420c383a51 /compat
parent3796fb2692f87d0000fc0aa4572ac025a6469c2b (diff)
downloadffmpeg-824d4062a172bd435fea7cbf8d6b55583c73e70e.tar.gz
compat/atomics/gcc: use __typeof__ instead of typeof
The typeof keyword is apparently not available when using the -std=c99 option. Fixes the use of C11 atomic functions with old GCC. Reviewed-by: Muhammad Faiz <mfcc64@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'compat')
-rw-r--r--compat/atomics/gcc/stdatomic.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/compat/atomics/gcc/stdatomic.h b/compat/atomics/gcc/stdatomic.h
index 41caddec5c..2b64687437 100644
--- a/compat/atomics/gcc/stdatomic.h
+++ b/compat/atomics/gcc/stdatomic.h
@@ -100,8 +100,8 @@ do { \
#define atomic_exchange(object, desired) \
({ \
- typeof(object) _obj = (object); \
- typeof(*object) _old; \
+ __typeof__(object) _obj = (object); \
+ __typeof__(*object) _old; \
do \
_old = atomic_load(_obj); \
while (!__sync_bool_compare_and_swap(_obj, _old, (desired))); \
@@ -113,8 +113,8 @@ do { \
#define atomic_compare_exchange_strong(object, expected, desired) \
({ \
- typeof(object) _exp = (expected); \
- typeof(*object) _old = *_exp; \
+ __typeof__(object) _exp = (expected); \
+ __typeof__(*object) _old = *_exp; \
*_exp = __sync_val_compare_and_swap((object), _old, (desired)); \
*_exp == _old; \
})