aboutsummaryrefslogtreecommitdiff
path: root/c/include
diff options
context:
space:
mode:
authorEugene Kliuchnikov <eustas@google.com>2019-07-22 14:29:51 +0200
committerGitHub <noreply@github.com>2019-07-22 14:29:51 +0200
commitf1124c8524647932a72b17eedf03c6ed5676fc44 (patch)
tree3a9df04bebb0b2871cc1aa7247d8d97c2790ea7c /c/include
parentc8b37e8fd1c6cc232d5f3b8fdcfb4ab98c5cf77a (diff)
downloadbrotli-f1124c8524647932a72b17eedf03c6ed5676fc44.zip
brotli-f1124c8524647932a72b17eedf03c6ed5676fc44.tar.gz
brotli-f1124c8524647932a72b17eedf03c6ed5676fc44.tar.bz2
More careful sanitizer detection (#764)
Diffstat (limited to 'c/include')
-rw-r--r--c/include/brotli/port.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/c/include/brotli/port.h b/c/include/brotli/port.h
index 20dc231..825237a 100644
--- a/c/include/brotli/port.h
+++ b/c/include/brotli/port.h
@@ -218,6 +218,20 @@
BROTLI_GNUC_VERSION_CHECK(major, minor, patch)
#endif
+#if defined(__has_feature)
+#define BROTLI_HAS_FEATURE(feature) __has_feature(feature)
+#else
+#define BROTLI_HAS_FEATURE(feature) (0)
+#endif
+
+#if defined(ADDRESS_SANITIZER) || BROTLI_HAS_FEATURE(address_sanitizer) || \
+ defined(THREAD_SANITIZER) || BROTLI_HAS_FEATURE(thread_sanitizer) || \
+ defined(MEMORY_SANITIZER) || BROTLI_HAS_FEATURE(memory_sanitizer)
+#define BROTLI_SANITIZED 1
+#else
+#define BROTLI_SANITIZED 0
+#endif
+
#if defined(_WIN32) || defined(__CYGWIN__)
#define BROTLI_PUBLIC
#elif BROTLI_GNUC_VERSION_CHECK(3, 3, 0) || \