From 554bcb69c2d785a011a30e7db87a36a87fe7db10 Mon Sep 17 00:00:00 2001 From: dim Date: Wed, 15 Aug 2012 20:02:54 +0000 Subject: Vendor import of clang trunk r161861: http://llvm.org/svn/llvm-project/cfe/trunk@161861 --- docs/AddressSanitizer.html | 57 ++++++++++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 22 deletions(-) (limited to 'docs/AddressSanitizer.html') diff --git a/docs/AddressSanitizer.html b/docs/AddressSanitizer.html index c1dc91b..98ea934 100644 --- a/docs/AddressSanitizer.html +++ b/docs/AddressSanitizer.html @@ -21,14 +21,16 @@

AddressSanitizer

Introduction

@@ -97,36 +99,47 @@ AddressSanitizer is enabled. __has_feature can be used for this purpose.
-#if defined(__has_feature) && __has_feature(address_sanitizer)
-  code that runs only under AddressSanitizer
-#else
-  code that does not run under AddressSanitizer
+#if defined(__has_feature)
+# if __has_feature(address_sanitizer)
+  code that builds only under AddressSanitizer
+# endif
 #endif
 
+

__attribute__((no_address_safety_analysis))

+Some code should not be instrumentated by AddressSanitizer. +One may use the function attribute + + no_address_safety_analysis +to disable instrumentation of a particular function. +This attribute may not be supported by other compilers, so we suggest to +use it together with __has_feature(address_sanitizer). +Note: currently, this attribute will be lost if the function is inlined. +

Supported Platforms

AddressSanitizer is supported on -Support for Linux i386/ARM and MacOS 10.7 is in progress +Support for Linux i386/ARM is in progress (it may work, but is not guaranteed too).

Limitations

Current Status

-AddressSanitizer is fully functional on supported platforms in LLVM head. +AddressSanitizer is fully functional on supported platforms starting from LLVM 3.1. However, the test suite is not fully integrated yet and we lack the testing process (buildbots). -- cgit v1.1