changeset 21269:b3cb705f1dc6

lib/macros.h - protect old compilers from use of modern features no_sanitize(integer) is not in 3.5 (debian stable's version), but is documented in 3.9. Exactly when it appeared isn't immediately obvious. Signed-off-by: Phil Carmody <phil@dovecot.fi>
author Phil Carmody <phil@dovecot.fi>
date Mon, 05 Dec 2016 17:29:08 +0200
parents 08bd444ec0c8
children e0d156644fbe
files src/lib/macros.h
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib/macros.h	Sun Dec 04 03:44:43 2016 +0200
+++ b/src/lib/macros.h	Mon Dec 05 17:29:08 2016 +0200
@@ -184,7 +184,7 @@
 #  define likely(expr) expr
 #endif
 
-#if defined(__clang__)
+#if defined(__clang__) && ((__clang_major__ > 4) || (__clang_major__ == 3 && __clang_minor__ >= 9))
 #  define ATTR_UNSIGNED_WRAPS __attribute__((no_sanitize("integer")))
 #else
 #  define ATTR_UNSIGNED_WRAPS