7#if __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__)
8 #define TPDE_ASAN_BUILD
9extern "C" void __asan_poison_memory_region(
void const volatile *p,
11extern "C" void __asan_unpoison_memory_region(
void const volatile *p,
17#if defined(TPDE_ASAN_BUILD)
18constexpr const bool address_sanitizer_active =
true;
20constexpr const bool address_sanitizer_active =
false;
23[[gnu::always_inline]]
static inline void
24 poison_memory_region([[maybe_unused]]
void const volatile *p,
25 [[maybe_unused]]
size_t size) {
26#if defined(TPDE_ASAN_BUILD)
27 __asan_poison_memory_region(p, size);
31[[gnu::always_inline]]
static inline void
32 unpoison_memory_region([[maybe_unused]]
void const volatile *p,
33 [[maybe_unused]]
size_t size) {
34#if defined(TPDE_ASAN_BUILD)
35 __asan_unpoison_memory_region(p, size);