1 //===-- nsan_flags.inc ------------------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 //===----------------------------------------------------------------------===//
13 #error "Define NSAN_FLAG prior to including this file!"
16 // NSAN_FLAG(Type, Name, DefaultValue, Description)
17 // See COMMON_FLAG in sanitizer_flags.inc for more details.
19 NSAN_FLAG(bool, halt_on_error, true, "If true, halt after the first error.")
20 NSAN_FLAG(bool, resume_after_warning, true,
21 "If true, we resume resume the computation from the original "
22 "application floating-point value after a warning. If false, "
23 "computations continue with the shadow value.")
24 NSAN_FLAG(const char *, suppressions, "", "Suppressions file name.")
25 NSAN_FLAG(bool, resume_after_suppression, true,
26 "If true, a suppression will also resume the computation from the FT"
27 " domain. If false, output is suppressed but the shadow value is"
29 // FIXME: should this be specified in units of epsilon instead?
30 NSAN_FLAG(int, log2_max_relative_error, 19,
31 "Log2 maximum admissible relative error, e.g. 19 means max relative "
32 "error of 1/2^19 ~= 0.000002.")
33 NSAN_FLAG(int, log2_absolute_error_threshold, 32,
34 "Log2 maximum admissible absolute error. Any numbers closer than "
35 "1/2^n are considered to be the same.")
36 NSAN_FLAG(bool, disable_warnings, false,
37 "If true, disable warning printing. This is useful to only compute "
39 NSAN_FLAG(bool, enable_check_stats, false,
40 "If true, compute check stats, i.e. for each line, the number of "
41 "times a check was performed on this line.")
42 NSAN_FLAG(bool, enable_warning_stats, false,
43 "If true, compute warning stats, i.e. for each line, the number of "
44 "times a warning was emitted for this line.")
45 NSAN_FLAG(bool, enable_loadtracking_stats, false,
46 "If true, compute load tracking stats, i.e. for each load from "
47 "memory, the number of times nsan resumed from the original value "
48 "due to invalid or unknown types.")
49 NSAN_FLAG(bool, poison_in_free, true, "")
50 NSAN_FLAG(bool, print_stats_on_exit, false, "If true, print stats on exit.")
51 NSAN_FLAG(bool, check_nan, false,
52 "If true, check the floating-point number is nan")
53 NSAN_FLAG(bool, check_cmp, true,
54 "If true, emit a warning for a fcmp instruction whose "
55 "corresponding shadow fcmp result differs.")