Skip to content
Snippets Groups Projects
Commit 1b4a38b3 authored by Anna Zaks's avatar Anna Zaks
Browse files

[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
parent ad44c9ed
No related branches found
No related tags found
No related merge requests found
...@@ -76,14 +76,14 @@ whether MemorySanitizer is enabled. :ref:`\_\_has\_feature ...@@ -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. ...@@ -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 ...@@ -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
----------- -----------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment