Link Here
|
|
|
1 |
--- src/hb-atomic-private.hh.orig 2015-04-10 02:16:57 UTC |
2 |
+++ src/hb-atomic-private.hh |
3 |
@@ -96,16 +96,6 @@ typedef int32_t hb_atomic_int_impl_t; |
4 |
#endif |
5 |
|
6 |
|
7 |
-#elif !defined(HB_NO_MT) && defined(HAVE_INTEL_ATOMIC_PRIMITIVES) |
8 |
- |
9 |
-typedef int hb_atomic_int_impl_t; |
10 |
-#define HB_ATOMIC_INT_IMPL_INIT(V) (V) |
11 |
-#define hb_atomic_int_impl_add(AI, V) __sync_fetch_and_add (&(AI), (V)) |
12 |
- |
13 |
-#define hb_atomic_ptr_impl_get(P) (void *) (__sync_synchronize (), *(P)) |
14 |
-#define hb_atomic_ptr_impl_cmpexch(P,O,N) __sync_bool_compare_and_swap ((P), (O), (N)) |
15 |
- |
16 |
- |
17 |
#elif !defined(HB_NO_MT) && defined(HAVE_SOLARIS_ATOMIC_OPS) |
18 |
|
19 |
#include <atomic.h> |
20 |
@@ -119,7 +109,7 @@ typedef unsigned int hb_atomic_int_impl_ |
21 |
#define hb_atomic_ptr_impl_cmpexch(P,O,N) ( ({__machine_rw_barrier ();}), atomic_cas_ptr ((void **) (P), (void *) (O), (void *) (N)) == (void *) (O) ? true : false) |
22 |
|
23 |
|
24 |
-#elif !defined(HB_NO_MT) |
25 |
+#elif !defined(HB_NO_MT) && defined(FreeBSD) |
26 |
|
27 |
#define HB_ATOMIC_INT_NIL 1 /* Warn that fallback implementation is in use. */ |
28 |
|