[ASan] Remove the explicit function prototypes for intercepted functions on Windows

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@190411 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/interception/interception.h b/lib/interception/interception.h
index d50af35..cc8d7b0 100644
--- a/lib/interception/interception.h
+++ b/lib/interception/interception.h
@@ -130,7 +130,10 @@
 #  define WRAPPER_NAME(x) "wrap_"#x
 #  define INTERCEPTOR_ATTRIBUTE
 # endif
-# define DECLARE_WRAPPER(ret_type, func, ...)
+# define DECLARE_WRAPPER(ret_type, func, ...) \
+    extern "C" ret_type func(__VA_ARGS__);
+# define DECLARE_WRAPPER_WINAPI(ret_type, func, ...) \
+    extern "C" __declspec(dllimport) ret_type __stdcall func(__VA_ARGS__);
 #else
 # define WRAP(x) __interceptor_ ## x
 # define WRAPPER_NAME(x) "__interceptor_" #x
@@ -211,7 +214,7 @@
     namespace __interception { \
       FUNC_TYPE(func) PTR_TO_REAL(func); \
     } \
-    DECLARE_WRAPPER(ret_type, func, __VA_ARGS__) \
+    DECLARE_WRAPPER_WINAPI(ret_type, func, __VA_ARGS__) \
     extern "C" \
     INTERCEPTOR_ATTRIBUTE \
     ret_type __stdcall WRAP(func)(__VA_ARGS__)