diff --git a/libxml.h b/libxml.h index 00404d2f..d94677b5 100644 --- a/libxml.h +++ b/libxml.h @@ -55,9 +55,14 @@ #endif #ifdef __clang__ - #define ATTRIBUTE_NO_SANITIZE_INTEGER \ - ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") \ - ATTRIBUTE_NO_SANITIZE("unsigned-shift-base") + #if __clang_major__ >= 12 + #define ATTRIBUTE_NO_SANITIZE_INTEGER \ + ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") \ + ATTRIBUTE_NO_SANITIZE("unsigned-shift-base") + #else + #define ATTRIBUTE_NO_SANITIZE_INTEGER \ + ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") + #endif #else #define ATTRIBUTE_NO_SANITIZE_INTEGER #endif diff --git a/testdict.c b/testdict.c index ffbbc947..94f18c2c 100644 --- a/testdict.c +++ b/testdict.c @@ -7,9 +7,14 @@ /**** dictionary tests ****/ #ifdef __clang__ - #define ATTRIBUTE_NO_SANITIZE_INTEGER \ - __attribute__ ((no_sanitize("unsigned-integer-overflow"))) \ - __attribute__ ((no_sanitize("unsigned-shift-base"))) + #if __clang_major__ >= 12 + #define ATTRIBUTE_NO_SANITIZE_INTEGER \ + __attribute__ ((no_sanitize("unsigned-integer-overflow"))) \ + __attribute__ ((no_sanitize("unsigned-shift-base"))) + #else + #define ATTRIBUTE_NO_SANITIZE_INTEGER \ + __attribute__ ((no_sanitize("unsigned-integer-overflow"))) + #endif #else #define ATTRIBUTE_NO_SANITIZE_INTEGER #endif