default. If a check fails, a diagnostic message is produced at
runtime explaining the problem. The main checks are:
- .. _opt_fsanitize_address:
+ - .. _opt_fsanitize_address:
- - ``-fsanitize=address``:
+ ``-fsanitize=address``:
:doc:`AddressSanitizer`, a memory error
detector.
- ``-fsanitize=address-full``: AddressSanitizer with all the
experimental features listed below.
- ``-fsanitize=integer``: Enables checks for undefined or
suspicious integer behavior.
- - ``-fsanitize=thread``: :doc:`ThreadSanitizer`,
+ - .. _opt_fsanitize_thread:
+
+ ``-fsanitize=thread``: :doc:`ThreadSanitizer`,
an *experimental* data race detector. Not ready for widespread
use.
+ - .. _opt_fsanitize_undefined:
- .. _opt_fsanitize_undefined:
-
- - ``-fsanitize=undefined``: Fast and compatible undefined behavior
+ ``-fsanitize=undefined``: Fast and compatible undefined behavior
checker. Enables the undefined behavior checks that have small
runtime cost and no impact on address space layout or ABI. This
includes all of the checks listed below other than
<opt_fsanitize_address>`.
**-f[no-]thread-sanitizer**
Deprecated synonym for :ref:`-f[no-]sanitize=thread
- <opt_fsanitize_address>`.
+ <opt_fsanitize_thread>`.
**-fcatch-undefined-behavior**
Deprecated synonym for :ref:`-fsanitize=undefined
<opt_fsanitize_undefined>`.