1//===-- dfsan_flags.inc -----------------------------------------*- C++ -*-===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8//
9// DFSan runtime flags.
10//
11//===----------------------------------------------------------------------===//
12#ifndef DFSAN_FLAG
13# error "Define DFSAN_FLAG prior to including this file!"
14#endif
15
16// DFSAN_FLAG(Type, Name, DefaultValue, Description)
17// See COMMON_FLAG in sanitizer_flags.inc for more details.
18
19DFSAN_FLAG(bool, warn_unimplemented, true,
20           "Whether to warn on unimplemented functions.")
21DFSAN_FLAG(bool, warn_nonzero_labels, false,
22           "Whether to warn on unimplemented functions.")
23DFSAN_FLAG(
24    bool, strict_data_dependencies, true,
25    "Whether to propagate labels only when there is an obvious data dependency"
26    "(e.g., when comparing strings, ignore the fact that the output of the"
27    "comparison might be data-dependent on the content of the strings). This"
28    "applies only to the custom functions defined in 'custom.c'.")
29DFSAN_FLAG(const char *, dump_labels_at_exit, "", "The path of the file where "
30                                                  "to dump the labels when the "
31                                                  "program terminates.")
32DFSAN_FLAG(bool, fast16labels, false,
33    "Enables experimental mode where DFSan supports only 16 power-of-2 labels "
34    "(1, 2, 4, 8, ... 32768) and the label union is computed as a bit-wise OR."
35)
36