From: Ivan Maidanski Date: Mon, 20 Nov 2017 21:17:51 +0000 (+0300) Subject: Fix 'unknown attribute no_sanitize' compiler warnings for GCC X-Git-Tag: v7.6.2~10 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bf10da5e834484e6ed18ab4b5328d6f35317cf7d;p=gc Fix 'unknown attribute no_sanitize' compiler warnings for GCC (Cherry-pick commit bba7234a from 'master' branch.) * include/private/gc_priv.h [!GC_ATTR_NO_SANITIZE_ADDR && ADDRESS_SANITIZER && !AO_CLANG_PREREQ(3,8)] (GC_ATTR_NO_SANITIZE_ADDR): Define to __attribute__((no_sanitize_address)). * include/private/gc_priv.h [!GC_ATTR_NO_SANITIZE_MEMORY && MEMORY_SANITIZER && !AO_CLANG_PREREQ(3,8)] (GC_ATTR_NO_SANITIZE_MEMORY): Define to __attribute__((no_sanitize_memory)). --- diff --git a/include/private/gc_priv.h b/include/private/gc_priv.h index 771adb8f..4b36565d 100644 --- a/include/private/gc_priv.h +++ b/include/private/gc_priv.h @@ -156,18 +156,22 @@ typedef char * ptr_t; /* A generic pointer to which we can add */ #endif #ifndef GC_ATTR_NO_SANITIZE_ADDR -# ifdef ADDRESS_SANITIZER +# ifndef ADDRESS_SANITIZER +# define GC_ATTR_NO_SANITIZE_ADDR /* empty */ +# elif __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 8) # define GC_ATTR_NO_SANITIZE_ADDR __attribute__((no_sanitize("address"))) # else -# define GC_ATTR_NO_SANITIZE_ADDR /* empty */ +# define GC_ATTR_NO_SANITIZE_ADDR __attribute__((no_sanitize_address)) # endif #endif /* !GC_ATTR_NO_SANITIZE_ADDR */ #ifndef GC_ATTR_NO_SANITIZE_MEMORY -# ifdef MEMORY_SANITIZER +# ifndef MEMORY_SANITIZER +# define GC_ATTR_NO_SANITIZE_MEMORY /* empty */ +# elif __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 8) # define GC_ATTR_NO_SANITIZE_MEMORY __attribute__((no_sanitize("memory"))) # else -# define GC_ATTR_NO_SANITIZE_MEMORY /* empty */ +# define GC_ATTR_NO_SANITIZE_MEMORY __attribute__((no_sanitize_memory)) # endif #endif /* !GC_ATTR_NO_SANITIZE_MEMORY */