From 4f9af798501b3fb0d930d0914f0b50042dccbcc1 Mon Sep 17 00:00:00 2001 From: Arseny Kapoulkine Date: Mon, 2 Apr 2018 21:06:32 -0700 Subject: Work around gcc-8 warning gcc-8 produces "attribute directive ignored" warning for no_sanitize("unsigned-integer-overflow"); at some point gcc will introduce integer sanitizer support and we'll have to do this all over again but for now just don't emit the attribute. --- src/pugixml.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pugixml.cpp b/src/pugixml.cpp index d140425..0b9651a 100644 --- a/src/pugixml.cpp +++ b/src/pugixml.cpp @@ -106,8 +106,8 @@ # define PUGI__DMC_VOLATILE #endif -// Integer sanitizer workaround -#ifdef __has_attribute +// Integer sanitizer workaround; we only apply this for clang since gcc8 has no_sanitize but not unsigned-integer-overflow and produces "attribute directive ignored" warnings +#if defined(__clang__) && defined(__has_attribute) # if __has_attribute(no_sanitize) # define PUGI__UNSIGNED_OVERFLOW __attribute__((no_sanitize("unsigned-integer-overflow"))) # else -- cgit v1.2.3