xref: /llvm-project/compiler-rt/lib/rtsan/rtsan_flags.h (revision 8f8d5f005a937bf8d5244c5bf22906095ff08c70)
12e9b3316SChris Apple //===----------------------- rtsan_flags.h ----------------------*- C++ -*-===//
22e9b3316SChris Apple //
32e9b3316SChris Apple // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
42e9b3316SChris Apple // See https://llvm.org/LICENSE.txt for license information.
52e9b3316SChris Apple // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
62e9b3316SChris Apple //
72e9b3316SChris Apple //===----------------------------------------------------------------------===//
82e9b3316SChris Apple //
92e9b3316SChris Apple // This file is a part of RealtimeSanitizer.
102e9b3316SChris Apple //
112e9b3316SChris Apple //===----------------------------------------------------------------------===//
122e9b3316SChris Apple #pragma once
132e9b3316SChris Apple 
142e9b3316SChris Apple namespace __rtsan {
152e9b3316SChris Apple 
162e9b3316SChris Apple struct Flags {
172e9b3316SChris Apple #define RTSAN_FLAG(Type, Name, DefaultValue, Description)                      \
182e9b3316SChris Apple   Type Name{DefaultValue};
192e9b3316SChris Apple #include "rtsan_flags.inc"
202e9b3316SChris Apple #undef RTSAN_FLAG
21*8f8d5f00SChris Apple 
22*8f8d5f00SChris Apple   bool ContainsSuppresionFile() { return suppressions[0] != '\0'; }
232e9b3316SChris Apple };
242e9b3316SChris Apple 
252e9b3316SChris Apple extern Flags flags_data;
262e9b3316SChris Apple inline Flags &flags() { return flags_data; }
272e9b3316SChris Apple 
282e9b3316SChris Apple void InitializeFlags();
292e9b3316SChris Apple 
302e9b3316SChris Apple } // namespace __rtsan
31