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 Andricinline Flags &flags() { return flags_data; } 29*fe6060f1SDimitry Andric 30*fe6060f1SDimitry Andric } // namespace __dfsan 31*fe6060f1SDimitry Andric 32*fe6060f1SDimitry Andric #endif // DFSAN_FLAGS_H 33