diff options
author | dim <dim@FreeBSD.org> | 2013-12-22 00:07:40 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2013-12-22 00:07:40 +0000 |
commit | 952eddef9aff85b1e92626e89baaf7a360e2ac85 (patch) | |
tree | df8df0b0067b381eab470a3b8f28d14a552a6340 /docs/ThreadSanitizer.rst | |
parent | ea266cad53e3d49771fa38103913d3ec7a166694 (diff) | |
download | FreeBSD-src-952eddef9aff85b1e92626e89baaf7a360e2ac85.zip FreeBSD-src-952eddef9aff85b1e92626e89baaf7a360e2ac85.tar.gz |
Vendor import of clang release_34 branch r197841 (effectively, 3.4 RC3):
https://llvm.org/svn/llvm-project/cfe/branches/release_34@197841
Diffstat (limited to 'docs/ThreadSanitizer.rst')
-rw-r--r-- | docs/ThreadSanitizer.rst | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/docs/ThreadSanitizer.rst b/docs/ThreadSanitizer.rst index 5e5ee48..194ad4a 100644 --- a/docs/ThreadSanitizer.rst +++ b/docs/ThreadSanitizer.rst @@ -91,11 +91,21 @@ Some code should not be instrumented by ThreadSanitizer. One may use the function attribute :ref:`no_sanitize_thread <langext-thread_sanitizer>` to disable instrumentation of plain (non-atomic) loads/stores in a particular function. -ThreadSanitizer may still instrument such functions to avoid false positives. +ThreadSanitizer still instruments such functions to avoid false positives and +provide meaningful stack traces. This attribute may not be supported by other compilers, so we suggest to use it together with -``__has_feature(thread_sanitizer)``. Note: currently, this attribute will be -lost if the function is inlined. +``__has_feature(thread_sanitizer)``. + +Blacklist +--------- + +ThreadSanitizer supports ``src`` and ``fun`` entity types in +:doc:`SanitizerSpecialCaseList`, that can be used to suppress data race reports in +the specified source files or functions. Unlike functions marked with +:ref:`no_sanitize_thread <langext-thread_sanitizer>` attribute, +blacklisted functions are not instrumented at all. This can lead to false positives +due to missed synchronization via atomic operations and missed stack frames in reports. Limitations ----------- |