[Sanitizers] [MinGW] Check for __i386__ in addition to _M_IX86 for i386 specific details

The MinGW headers do define _M_IX86 (contrary to clang-cl and
MSVC where it is a compiler predefined macro), but the headers that
define it aren't included here.

Also check these defines for setting the symbol prefix, instead of
inconsistently using _WIN64 for that.

Differential Revision: https://reviews.llvm.org/D51883

llvm-svn: 343013
This commit is contained in:
Martin Storsjo 2018-09-25 19:50:32 +00:00
parent adde5ba4b2
commit fd9aa7e078
1 changed files with 4 additions and 4 deletions

View File

@ -17,17 +17,17 @@
#if SANITIZER_WINDOWS #if SANITIZER_WINDOWS
#ifndef WINAPI #ifndef WINAPI
#ifdef _M_IX86 #if defined(_M_IX86) || defined(__i386__)
#define WINAPI __stdcall #define WINAPI __stdcall
#else #else
#define WINAPI #define WINAPI
#endif #endif
#endif #endif
#if defined(_WIN64) #if defined(_M_IX86) || defined(__i386__)
#define WIN_SYM_PREFIX
#else
#define WIN_SYM_PREFIX "_" #define WIN_SYM_PREFIX "_"
#else
#define WIN_SYM_PREFIX
#endif #endif
// Intermediate macro to ensure the parameter is expanded before stringified. // Intermediate macro to ensure the parameter is expanded before stringified.