| Index: third_party/harfbuzz-ng/src/hb-atomic-private.hh | 
| =================================================================== | 
| --- third_party/harfbuzz-ng/src/hb-atomic-private.hh	(리비전 191245) | 
| +++ third_party/harfbuzz-ng/src/hb-atomic-private.hh	(작업 사본) | 
| @@ -42,27 +42,15 @@ | 
| #if 0 | 
|  | 
|  | 
| -#elif !defined(HB_NO_MT) && defined(_MSC_VER) || defined(__MINGW32__) | 
| +#elif !defined(HB_NO_MT) && (defined(_WIN32) || defined(__CYGWIN__)) | 
|  | 
| #define WIN32_LEAN_AND_MEAN | 
| #include <windows.h> | 
|  | 
| -/* mingw32 does not have MemoryBarrier. | 
| - * MemoryBarrier may be defined as a macro or a function. | 
| - * Just make a failsafe version for ourselves. */ | 
| -#ifdef MemoryBarrier | 
| -#define HBMemoryBarrier MemoryBarrier | 
| -#else | 
| -static inline void HBMemoryBarrier (void) { | 
| -  long dummy = 0; | 
| -  InterlockedExchange (&dummy, 1); | 
| -} | 
| -#endif | 
| - | 
| typedef LONG hb_atomic_int_t; | 
| #define hb_atomic_int_add(AI, V)	InterlockedExchangeAdd (&(AI), (V)) | 
|  | 
| -#define hb_atomic_ptr_get(P)		(HBMemoryBarrier (), (void *) *(P)) | 
| +#define hb_atomic_ptr_get(P)		(MemoryBarrier (), (void *) *(P)) | 
| #define hb_atomic_ptr_cmpexch(P,O,N)	(InterlockedCompareExchangePointer ((void **) (P), (void *) (N), (void *) (O)) == (void *) (O)) | 
|  | 
|  | 
| @@ -99,6 +87,18 @@ | 
| #define hb_atomic_ptr_cmpexch(P,O,N)	__sync_bool_compare_and_swap ((P), (O), (N)) | 
|  | 
|  | 
| +#elif !defined(HB_NO_MT) && defined(HAVE_SOLARIS_ATOMIC_OPS) | 
| + | 
| +#include <atomic.h> | 
| +#include <mbarrier.h> | 
| + | 
| +typedef unsigned int hb_atomic_int_t; | 
| +#define hb_atomic_int_add(AI, V)	( ({__machine_rw_barrier ();}), atomic_add_int_nv (&(AI), (V)) - (V)) | 
| + | 
| +#define hb_atomic_ptr_get(P)		( ({__machine_rw_barrier ();}), (void *) *(P)) | 
| +#define hb_atomic_ptr_cmpexch(P,O,N)	( ({__machine_rw_barrier ();}), atomic_cas_ptr ((void **) (P), (void *) (O), (void *) (N)) == (void *) (O) ? true : false) | 
| + | 
| + | 
| #elif !defined(HB_NO_MT) | 
|  | 
| #define HB_ATOMIC_INT_NIL 1 /* Warn that fallback implementation is in use. */ | 
|  |