gcc uses different function attribute
diff --git a/lib/fusion.c b/lib/fusion.c
index 1188226..e77e8ba 100644
--- a/lib/fusion.c
+++ b/lib/fusion.c
@@ -48,16 +48,6 @@
 #include "picotls.h"
 #include "picotls/fusion.h"
 
-#if defined(__clang__)
-#if __has_feature(address_sanitizer)
-#define ASAN_IN_USE 1
-#endif
-#elif __SANITIZE_ADDRESS__ /* gcc */
-#define ASAN_IN_USE 1
-#else
-#define ASAN_IN_USE 0
-#endif
-
 struct ptls_fusion_aesgcm_context {
     ptls_fusion_aesecb_context_t ecb;
     size_t capacity;
@@ -213,7 +203,13 @@
                                           0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
                                           0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80}; // latter 15 bytes map to zero
 
+#if defined(__clang__)
+#if __has_feature(address_sanitizer)
 __attribute__((no_sanitize("address")))
+#endif
+#elif __SANITIZE_ADDRESS__ /* gcc */
+__attribute__((no_sanitize_address))
+#endif
 static inline __m128i loadn(const void *p, size_t l)
 {
     __m128i v, mask = _mm_loadu_si128((__m128i *)(loadn_mask + 16 - l));