Add gcc intrinsics implementations for atomic and mutex
diff --git a/src/hb-atomic-private.hh b/src/hb-atomic-private.hh
index 29e4146..3394afc 100644
--- a/src/hb-atomic-private.hh
+++ b/src/hb-atomic-private.hh
@@ -72,13 +72,20 @@
#endif
-#else
+#elif !defined(HB_NO_MT)
-#define HB_ATOMIC_INT_NIL 1
+#define HB_ATOMIC_INT_NIL 1 /* Warn that fallback implementation is in use. */
+typedef volatile int hb_atomic_int_t;
+#define hb_atomic_int_add(AI, V) (((AI) += (V)) - (V))
+
+
+#else /* HB_NO_MT */
+
typedef int hb_atomic_int_t;
#define hb_atomic_int_add(AI, V) (((AI) += (V)) - (V))
#endif
+/* TODO Add tracing. */
#endif /* HB_ATOMIC_PRIVATE_HH */