diff --git a/src/base_core.h b/src/base_core.h index c2da7c8..9205828 100644 --- a/src/base_core.h +++ b/src/base_core.h @@ -6,6 +6,15 @@ #include #include +#ifdef __has_feature + #if __has_feature(address_sanitizer) + #define USE_ASAN 1 + #endif +#endif +#if defined(__SANITIZE_ADDRESS__) + #define USE_ASAN 1 +#endif + // Types typedef int8_t S8; typedef int16_t S16; @@ -189,7 +198,7 @@ typedef unsigned __int128 U128; // memory #define MemSet(ptr, val, len) memset(ptr, val, len) -#if __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__) +#ifdef USE_ASAN #define MemoryZero(ptr, len) memset(ptr, 0, len) // explicity bzero is usually not being intercepted #else @@ -293,8 +302,7 @@ static INLINE U64 SaturatingMult64(U64 a, U64 b) } // address-sanitizer helpers (-fsanitize=address) - -#if __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__) +#ifdef USE_ASAN #include #define ASAN_POISON_MEMORY_REGION(addr, size) \ __asan_poison_memory_region((addr), (size))