AddressSanitizer: Replace __attribute__ with macro (for Win compatibility). Patch by timurrrr@google.com

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@149686 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/asan/asan_rtl.cc b/lib/asan/asan_rtl.cc
index b40bc41..333b516 100644
--- a/lib/asan/asan_rtl.cc
+++ b/lib/asan/asan_rtl.cc
@@ -187,8 +187,7 @@
   return true;
 }
 
-__attribute__((noinline))
-static void DescribeAddress(uintptr_t addr, uintptr_t access_size) {
+static NOINLINE void DescribeAddress(uintptr_t addr, uintptr_t access_size) {
   // Check if this is a global.
   if (DescribeAddrIfGlobal(addr))
     return;
@@ -203,8 +202,8 @@
 // -------------------------- Run-time entry ------------------- {{{1
 // exported functions
 #define ASAN_REPORT_ERROR(type, is_write, size)                     \
-extern "C" void __asan_report_ ## type ## size(uintptr_t addr)      \
-  __attribute__((visibility("default"))) __attribute__((noinline)); \
+NOINLINE ASAN_INTERFACE_ATTRIBUTE                                   \
+extern "C" void __asan_report_ ## type ## size(uintptr_t addr);     \
 extern "C" void __asan_report_ ## type ## size(uintptr_t addr) {    \
   GET_BP_PC_SP;                                                     \
   __asan_report_error(pc, bp, sp, addr, is_write, size);            \