__has_feature
#if defined(__has_feature)
# if __has_feature(memory_sanitizer)
#if !__has_feature(undefined_behavior_sanitizer) && \
#if !__has_feature(undefined_behavior_sanitizer) && \
#if defined(__clang__) && __has_feature(address_sanitizer)
#if defined(__clang__) && __has_feature(thread_sanitizer)
#if defined(__clang__) && __has_feature(memory_sanitizer)
#if defined(__clang__) && __has_feature(undefined_behavior_sanitizer)
__has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__) ||\
__has_feature(leak_sanitizer) || defined(__SANITIZE_LEAK__)
#ifndef __has_feature
#define __has_extension __has_feature /* Compat with pre-3.0 Clang */