diff options
Diffstat (limited to 'src/include/c.h')
-rw-r--r-- | src/include/c.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/include/c.h b/src/include/c.h index cf37e02fe1f..dc1841346cd 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -136,6 +136,19 @@ #endif /* + * This macro will disable address safety instrumentation for a function + * when running with "-fsanitize=address". Think twice before using this! + */ +#if defined(__clang__) || __GNUC__ >= 8 +#define pg_attribute_no_sanitize_address() __attribute__((no_sanitize("address"))) +#elif __has_attribute(no_sanitize_address) +/* This would work for clang, but it's deprecated. */ +#define pg_attribute_no_sanitize_address() __attribute__((no_sanitize_address)) +#else +#define pg_attribute_no_sanitize_address() +#endif + +/* * Place this macro before functions that should be allowed to make misaligned * accesses. Think twice before using it on non-x86-specific code! * Testing can be done with "-fsanitize=alignment -fsanitize-trap=alignment" |