From: John Wiegley Date: Wed, 11 Jul 2012 06:14:27 +0000 (-0500) Subject: alloc.c (mark_memory): Guard the "no_address_safety_analysis" function X-Git-Tag: emacs-24.2.90~1199^2~71 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b41253a389afdffde3d2551e4c165f0ebbafdf89;p=emacs.git alloc.c (mark_memory): Guard the "no_address_safety_analysis" function attribute, so we only use it if it exists in the compiler. --- diff --git a/src/ChangeLog b/src/ChangeLog index 8a6dc8644b8..64a7989a70f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2012-07-11 John Wiegley + + * alloc.c (mark_memory): Guard the "no_address_safety_analysis" + function attribute, so we only use it if it exists in the + compiler. + 2012-07-11 Dmitry Antipov Avoid call to strlen in fast_c_string_match_ignore_case. diff --git a/src/alloc.c b/src/alloc.c index 89f2c5dbed1..ac200254b8c 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -4641,12 +4641,14 @@ mark_maybe_pointer (void *p) static void mark_memory (void *start, void *end) -#ifdef __clang__ +#if defined (__clang__) && defined (__has_feature) +#if __has_feature(address_sanitizer) /* Do not allow -faddress-sanitizer to check this function, since it crosses the function stack boundary, and thus would yield many false positives. */ __attribute__((no_address_safety_analysis)) #endif +#endif { void **pp; int i;