[asan] remove OS-dependent headers from asan_internal.h

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@147919 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/asan/asan_internal.h b/lib/asan/asan_internal.h
index 224cc20..ab915a3 100644
--- a/lib/asan/asan_internal.h
+++ b/lib/asan/asan_internal.h
@@ -31,10 +31,6 @@
 #endif
 #endif
 
-#ifdef ANDROID
-#include <sys/atomics.h>
-#endif
-
 #if defined(__has_feature) && __has_feature(address_sanitizer)
 # error "The AddressSanitizer run-time should not be"
         " instrumented by AddressSanitizer"
@@ -109,6 +105,7 @@
 void InstallSignalHandlers();
 int GetPid();
 uintptr_t GetThreadSelf();
+int AtomicInc(int *a);
 
 // Wrapper for TLS/TSD.
 void AsanTSDInit();
@@ -240,23 +237,6 @@
   char *allocated_current_;
 };
 
-// -------------------------- Atomic ---------------- {{{1
-static inline int AtomicInc(int *a) {
-#ifdef ANDROID
-  return __atomic_inc(a) + 1;
-#else
-  return __sync_add_and_fetch(a, 1);
-#endif
-}
-
-static inline int AtomicDec(int *a) {
-#ifdef ANDROID
-  return __atomic_dec(a) - 1;
-#else
-  return __sync_add_and_fetch(a, -1);
-#endif
-}
-
 }  // namespace __asan
 
 #endif  // ASAN_INTERNAL_H
diff --git a/lib/asan/asan_posix.cc b/lib/asan/asan_posix.cc
index 2bc9e48..b7e21bd 100644
--- a/lib/asan/asan_posix.cc
+++ b/lib/asan/asan_posix.cc
@@ -24,6 +24,10 @@
 #include <sys/resource.h>
 #include <unistd.h>
 
+#ifdef ANDROID
+#include <sys/atomics.h>
+#endif
+
 namespace __asan {
 
 static void MaybeInstallSigaction(int signum,
@@ -77,6 +81,14 @@
   return (uintptr_t)pthread_self();
 }
 
+int AtomicInc(int *a) {
+#ifdef ANDROID
+  return __atomic_inc(a) + 1;
+#else
+  return __sync_add_and_fetch(a, 1);
+#endif
+}
+
 // ---------------------- TSD ---------------- {{{1
 
 static pthread_key_t tsd_key;