mirror of https://github.com/microsoft/clang.git
[docs] Update the TSan and MSan docs to refer to the new no_sanitize attribute
TSan and MSan were the only remaining sanitizers referring to the deprecated attribute for issue suppression. Update the docs to recommend __attribute__((no_sanitize("..."))) instead. Differential Revision: https://reviews.llvm.org/D25885 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@285349 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ad44c9ed7a
commit
1b4a38b361
|
@ -76,14 +76,14 @@ whether MemorySanitizer is enabled. :ref:`\_\_has\_feature
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
``__attribute__((no_sanitize_memory))``
|
``__attribute__((no_sanitize("memory")))``
|
||||||
-----------------------------------------------
|
-----------------------------------------------
|
||||||
|
|
||||||
Some code should not be checked by MemorySanitizer. One may use the function
|
Some code should not be checked by MemorySanitizer. One may use the function
|
||||||
attribute `no_sanitize_memory` to disable uninitialized checks in a particular
|
attribute ``no_sanitize("memory")`` to disable uninitialized checks in a
|
||||||
function. MemorySanitizer may still instrument such functions to avoid false
|
particular function. MemorySanitizer may still instrument such functions to
|
||||||
positives. This attribute may not be supported by other compilers, so we
|
avoid false positives. This attribute may not be supported by other compilers,
|
||||||
suggest to use it together with ``__has_feature(memory_sanitizer)``.
|
so we suggest to use it together with ``__has_feature(memory_sanitizer)``.
|
||||||
|
|
||||||
Blacklist
|
Blacklist
|
||||||
---------
|
---------
|
||||||
|
|
|
@ -83,11 +83,11 @@ this purpose.
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
``__attribute__((no_sanitize_thread))``
|
``__attribute__((no_sanitize("thread")))``
|
||||||
-----------------------------------------------
|
-----------------------------------------------
|
||||||
|
|
||||||
Some code should not be instrumented by ThreadSanitizer. One may use the
|
Some code should not be instrumented by ThreadSanitizer. One may use the
|
||||||
function attribute `no_sanitize_thread` to disable instrumentation of plain
|
function attribute ``no_sanitize("thread")`` to disable instrumentation of plain
|
||||||
(non-atomic) loads/stores in a particular function. ThreadSanitizer still
|
(non-atomic) loads/stores in a particular function. ThreadSanitizer still
|
||||||
instruments such functions to avoid false positives and provide meaningful stack
|
instruments such functions to avoid false positives and provide meaningful stack
|
||||||
traces. This attribute may not be supported by other compilers, so we suggest
|
traces. This attribute may not be supported by other compilers, so we suggest
|
||||||
|
@ -99,9 +99,9 @@ Blacklist
|
||||||
ThreadSanitizer supports ``src`` and ``fun`` entity types in
|
ThreadSanitizer supports ``src`` and ``fun`` entity types in
|
||||||
:doc:`SanitizerSpecialCaseList`, that can be used to suppress data race reports
|
:doc:`SanitizerSpecialCaseList`, that can be used to suppress data race reports
|
||||||
in the specified source files or functions. Unlike functions marked with
|
in the specified source files or functions. Unlike functions marked with
|
||||||
`no_sanitize_thread` attribute, blacklisted functions are not instrumented at
|
``no_sanitize("thread")`` attribute, blacklisted functions are not instrumented
|
||||||
all. This can lead to false positives due to missed synchronization via atomic
|
at all. This can lead to false positives due to missed synchronization via
|
||||||
operations and missed stack frames in reports.
|
atomic operations and missed stack frames in reports.
|
||||||
|
|
||||||
Limitations
|
Limitations
|
||||||
-----------
|
-----------
|
||||||
|
|
Loading…
Reference in New Issue