From 8c6c43fbf9ae92ff729fd4308d8b4be4f0c65660 Mon Sep 17 00:00:00 2001 From: Adrian Zgorzalek Date: Tue, 6 Oct 2015 11:19:22 -0700 Subject: [PATCH] Use attribute(no_sanitize) instead of no_sanitize_address to prevent clang-3.7 from ICE Summary: Stacktraces and more details can be found in the associated task http://clang.llvm.org/docs/AttributeReference.html#no-sanitize-clang-no-sanitize seems to be the new hotness to disable sanitizers. Reviewed By: @yfeldblum Differential Revision: D2510320 fb-gh-sync-id: 01cce68733509a6f5bcf9dbe3a4af6fc2792a43b --- folly/CPortability.h | 5 ++++- folly/FBString.h | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/folly/CPortability.h b/folly/CPortability.h index 65ffa6f1..e5099d23 100644 --- a/folly/CPortability.h +++ b/folly/CPortability.h @@ -37,7 +37,10 @@ * has issues when inlining is used, so disable that as well. */ #ifdef FOLLY_SANITIZE_ADDRESS # if defined(__clang__) -# if __has_attribute(__no_address_safety_analysis__) +# if __has_attribute(__no_sanitize__) +# define FOLLY_DISABLE_ADDRESS_SANITIZER \ + __attribute__((__no_sanitize__("address"), __noinline__)) +# elif __has_attribute(__no_address_safety_analysis__) # define FOLLY_DISABLE_ADDRESS_SANITIZER \ __attribute__((__no_address_safety_analysis__, __noinline__)) # elif __has_attribute(__no_sanitize_address__) diff --git a/folly/FBString.h b/folly/FBString.h index a9618aa4..98bf1668 100644 --- a/folly/FBString.h +++ b/folly/FBString.h @@ -101,7 +101,10 @@ namespace folly { // has issues when inlining is used, so disable that as well. #if defined(__clang__) # if __has_feature(address_sanitizer) -# if __has_attribute(__no_address_safety_analysis__) +# if __has_attribute(__no_sanitize__) +# define FBSTRING_DISABLE_ADDRESS_SANITIZER \ + __attribute__((__no_sanitize__("address"), __noinline__)) +# elif __has_attribute(__no_address_safety_analysis__) # define FBSTRING_DISABLE_ADDRESS_SANITIZER \ __attribute__((__no_address_safety_analysis__, __noinline__)) # elif __has_attribute(__no_sanitize_address__) -- 2.34.1