xref: /freebsd-src/contrib/llvm-project/compiler-rt/lib/dfsan/dfsan_flags.h (revision fe6060f10f634930ff71b7c50291ddc610da2475)
1*fe6060f1SDimitry Andric //===-- dfsan_flags.h -------------------------------------------*- C++ -*-===//
2*fe6060f1SDimitry Andric //
3*fe6060f1SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*fe6060f1SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5*fe6060f1SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*fe6060f1SDimitry Andric //
7*fe6060f1SDimitry Andric //===----------------------------------------------------------------------===//
8*fe6060f1SDimitry Andric //
9*fe6060f1SDimitry Andric // This file is a part of DataFlowSanitizer.
10*fe6060f1SDimitry Andric //
11*fe6060f1SDimitry Andric // DFSan flags.
12*fe6060f1SDimitry Andric //===----------------------------------------------------------------------===//
13*fe6060f1SDimitry Andric 
14*fe6060f1SDimitry Andric #ifndef DFSAN_FLAGS_H
15*fe6060f1SDimitry Andric #define DFSAN_FLAGS_H
16*fe6060f1SDimitry Andric 
17*fe6060f1SDimitry Andric namespace __dfsan {
18*fe6060f1SDimitry Andric 
19*fe6060f1SDimitry Andric struct Flags {
20*fe6060f1SDimitry Andric #define DFSAN_FLAG(Type, Name, DefaultValue, Description) Type Name;
21*fe6060f1SDimitry Andric #include "dfsan_flags.inc"
22*fe6060f1SDimitry Andric #undef DFSAN_FLAG
23*fe6060f1SDimitry Andric 
24*fe6060f1SDimitry Andric   void SetDefaults();
25*fe6060f1SDimitry Andric };
26*fe6060f1SDimitry Andric 
27*fe6060f1SDimitry Andric extern Flags flags_data;
flags()28*fe6060f1SDimitry Andric inline Flags &flags() { return flags_data; }
29*fe6060f1SDimitry Andric 
30*fe6060f1SDimitry Andric }  // namespace __dfsan
31*fe6060f1SDimitry Andric 
32*fe6060f1SDimitry Andric #endif  // DFSAN_FLAGS_H
33