tsan/asan: third try on msvc atomics


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@159449 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/sanitizer_common/sanitizer_atomic_msvc.h b/lib/sanitizer_common/sanitizer_atomic_msvc.h
index cf49631..2a15b59 100644
--- a/lib/sanitizer_common/sanitizer_atomic_msvc.h
+++ b/lib/sanitizer_common/sanitizer_atomic_msvc.h
@@ -15,13 +15,14 @@
 #ifndef SANITIZER_ATOMIC_MSVC_H
 #define SANITIZER_ATOMIC_MSVC_H
 
-void _ReadWriteBarrier();
+extern "C" void _ReadWriteBarrier();
 #pragma intrinsic(_ReadWriteBarrier)
-void _mm_mfence();
+extern "C" void _mm_mfence();
 #pragma intrinsic(_mm_mfence)
-void _mm_pause();
+extern "C" void _mm_pause();
 #pragma intrinsic(_mm_pause)
-long _InterlockedExchangeAdd(long volatile * Addend, long Value);  // NOLINT
+extern "C" long _InterlockedExchangeAdd(  // NOLINT
+    long volatile * Addend, long Value);  // NOLINT
 #pragma intrinsic(_InterlockedExchangeAdd)
 
 namespace __sanitizer {
diff --git a/lib/sanitizer_common/sanitizer_win.cc b/lib/sanitizer_common/sanitizer_win.cc
index 58e0174..04622fa 100644
--- a/lib/sanitizer_common/sanitizer_win.cc
+++ b/lib/sanitizer_common/sanitizer_win.cc
@@ -93,6 +93,7 @@
 
 const char *GetPwd() {
   UNIMPLEMENTED();
+  return 0;
 }
 
 void DumpProcessMap() {
@@ -128,22 +129,27 @@
 void *internal_mmap(void *addr, uptr length, int prot, int flags,
                     int fd, u64 offset) {
   UNIMPLEMENTED();
+  return 0;
 }
 
 int internal_munmap(void *addr, uptr length) {
   UNIMPLEMENTED();
+  return 0;
 }
 
 int internal_close(fd_t fd) {
   UNIMPLEMENTED();
+  return 0;
 }
 
 fd_t internal_open(const char *filename, bool write) {
   UNIMPLEMENTED();
+  return 0;
 }
 
 uptr internal_read(fd_t fd, void *buf, uptr count) {
   UNIMPLEMENTED();
+  return 0;
 }
 
 uptr internal_write(fd_t fd, const void *buf, uptr count) {
@@ -160,14 +166,17 @@
 
 uptr internal_filesize(fd_t fd) {
   UNIMPLEMENTED();
+  return 0;
 }
 
 int internal_dup2(int oldfd, int newfd) {
   UNIMPLEMENTED();
+  return 0;
 }
 
 int internal_sched_yield() {
   UNIMPLEMENTED();
+  return 0;
 }
 
 }  // namespace __sanitizer