diff options
author | Gary E. Miller <gem@rellim.com> | 2015-03-08 19:21:19 -0700 |
---|---|---|
committer | Gary E. Miller <gem@rellim.com> | 2015-03-08 19:23:03 -0700 |
commit | 7420e763390412bad49f7d6eba85bb7e51963974 (patch) | |
tree | 76ae27ac427722caa3204129f2969ef3d3421574 /compiler.h | |
parent | 603f875e5628001e8d94fd2c078dbd9e6ff8e16f (diff) | |
download | gpsd-7420e763390412bad49f7d6eba85bb7e51963974.tar.gz |
OS X, add OSMemoryBarrier() for memory_barrier() portability.
Builds fine, untested.
Diffstat (limited to 'compiler.h')
-rw-r--r-- | compiler.h | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -54,12 +54,18 @@ typedef unsigned int speed_t; #endif /* HAVE_STDATOMIC_H */ #endif /* S_SPLINT_S */ +#ifdef HAVE_OSATOMIC_H +#include <libkern/OSAtomic.h> +#endif /* HAVE_STDATOMIC_H */ + static /*@unused@*/ inline void memory_barrier(void) /* prevent instruction reordering across any call to this function */ { #ifndef S_SPLINT_S #ifdef STD_ATOMIC_H atomic_thread_fence(memory_order_seq_cst); +#elif defined(HAVE_OSATOMIC_H) + OSMemoryBarrier(); #elif defined(__GNUC__) asm volatile ("" : : : "memory"); #endif /* STD_ATOMIC_H */ |