[clang] [rtsan][NFC] Documentation of suppression flag (PR #112727)

Chris Apple via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 24 07:40:29 PDT 2024


================
@@ -194,12 +198,43 @@ Some issues with flags can be debugged using the ``verbosity=$NUM`` flag:
    misspelled_flag
    ...
 
-Disabling
----------
+Disabling and suppressing
+-------------------------
 
-In some circumstances, you may want to suppress error reporting in a specific scope.
+There are multiple ways to suppress error reporting when using RealtimeSanitizer.
 
-In C++, this is achieved via  ``__rtsan::ScopedDisabler``. Within the scope where the ``ScopedDisabler`` object is instantiated, all sanitizer error reports are suppressed. This suppression applies to the current scope as well as all invoked functions, including any functions called transitively.
+In general, ``ScopedDisabler`` should be preferred, as it is the most performant.
+
+.. list-table:: Suppression methods
+   :widths: 30 15 15 10 70
+   :header-rows: 1
+
+   * - Suppression method
+     - Specified at?
+     - Scope
+     - Run-time cost
+     - Description
+   * - ``ScopedDisabler``
+     - Compile-time
+     - Stack
+     - Very low
+     - Suppresses all sanitizer error reports in the current scope and all invoked functions.
----------------
cjappl wrote:

How are you feeling about this a week on?

I'm fine with changing it, but wanted to check to see if your opinion had shifted. I think one thing that puts me in camp "ignored" is that anything ignored by the ScopedDisabler will not show up in our exit statistics as a "suppressed error count".

Therefore I think it's OK to split the terminology. If you still feel like this would be a good idea I would change it.

https://github.com/llvm/llvm-project/pull/112727


More information about the cfe-commits mailing list