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