Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / src / ports / SkAtomics_android.h
index e7b2133..4698a64 100644 (file)
 #include <cutils/atomic.h>
 #include <stdint.h>
 
-#define sk_atomic_inc(addr)         android_atomic_inc(addr)
-#define sk_atomic_add(addr, inc)    android_atomic_add(inc, addr)
-#define sk_atomic_dec(addr)         android_atomic_dec(addr)
+static inline __attribute__((always_inline)) int32_t sk_atomic_inc(int32_t* addr) {
+    return android_atomic_inc(addr);
+}
+
+static inline __attribute__((always_inline)) int32_t sk_atomic_add(int32_t* addr, int32_t inc) {
+    return android_atomic_add(inc, addr);
+}
+
+static inline __attribute__((always_inline)) int32_t sk_atomic_dec(int32_t* addr) {
+    return android_atomic_dec(addr);
+}
 
 static inline __attribute__((always_inline)) void sk_membar_acquire__after_atomic_dec() {
     //HACK: Android is actually using full memory barriers.
@@ -36,7 +44,7 @@ static inline __attribute__((always_inline)) int32_t sk_atomic_conditional_inc(i
     }
 }
 
-static inline __attribute___((always_inline)) bool sk_atomic_cas(int32_t* addr,
+static inline __attribute__((always_inline)) bool sk_atomic_cas(int32_t* addr,
                                                                  int32_t before,
                                                                  int32_t after) {
     // android_atomic_release_cas returns 0 for success (if *addr == before and it wrote after).