1*76559068SAndroid Build Coastguard Worker //===-- flags.h -------------------------------------------------*- C++ -*-===// 2*76559068SAndroid Build Coastguard Worker // 3*76559068SAndroid Build Coastguard Worker // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*76559068SAndroid Build Coastguard Worker // See https://llvm.org/LICENSE.txt for license information. 5*76559068SAndroid Build Coastguard Worker // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*76559068SAndroid Build Coastguard Worker // 7*76559068SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 8*76559068SAndroid Build Coastguard Worker 9*76559068SAndroid Build Coastguard Worker #ifndef SCUDO_FLAGS_H_ 10*76559068SAndroid Build Coastguard Worker #define SCUDO_FLAGS_H_ 11*76559068SAndroid Build Coastguard Worker 12*76559068SAndroid Build Coastguard Worker #include "internal_defs.h" 13*76559068SAndroid Build Coastguard Worker 14*76559068SAndroid Build Coastguard Worker namespace scudo { 15*76559068SAndroid Build Coastguard Worker 16*76559068SAndroid Build Coastguard Worker struct Flags { 17*76559068SAndroid Build Coastguard Worker #define SCUDO_FLAG(Type, Name, DefaultValue, Description) Type Name; 18*76559068SAndroid Build Coastguard Worker #include "flags.inc" 19*76559068SAndroid Build Coastguard Worker #undef SCUDO_FLAG 20*76559068SAndroid Build Coastguard Worker 21*76559068SAndroid Build Coastguard Worker #ifdef GWP_ASAN_HOOKS 22*76559068SAndroid Build Coastguard Worker #define GWP_ASAN_OPTION(Type, Name, DefaultValue, Description) \ 23*76559068SAndroid Build Coastguard Worker Type GWP_ASAN_##Name; 24*76559068SAndroid Build Coastguard Worker #include "gwp_asan/options.inc" 25*76559068SAndroid Build Coastguard Worker #undef GWP_ASAN_OPTION 26*76559068SAndroid Build Coastguard Worker #endif // GWP_ASAN_HOOKS 27*76559068SAndroid Build Coastguard Worker 28*76559068SAndroid Build Coastguard Worker void setDefaults(); 29*76559068SAndroid Build Coastguard Worker }; 30*76559068SAndroid Build Coastguard Worker 31*76559068SAndroid Build Coastguard Worker Flags *getFlags(); 32*76559068SAndroid Build Coastguard Worker void initFlags(); 33*76559068SAndroid Build Coastguard Worker class FlagParser; 34*76559068SAndroid Build Coastguard Worker void registerFlags(FlagParser *Parser, Flags *F); 35*76559068SAndroid Build Coastguard Worker 36*76559068SAndroid Build Coastguard Worker } // namespace scudo 37*76559068SAndroid Build Coastguard Worker 38*76559068SAndroid Build Coastguard Worker #endif // SCUDO_FLAGS_H_ 39