1//===-- esan_flags.h --------------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file is a part of EfficiencySanitizer, a family of performance tuners. 11// 12// Esan runtime flags. 13//===----------------------------------------------------------------------===// 14 15#ifndef ESAN_FLAGS_H 16#define ESAN_FLAGS_H 17 18#include "sanitizer_common/sanitizer_internal_defs.h" 19#include "sanitizer_common/sanitizer_flag_parser.h" 20 21namespace __esan { 22 23class Flags { 24public: 25#define ESAN_FLAG(Type, Name, DefaultValue, Description) Type Name; 26#include "esan_flags.inc" 27#undef ESAN_FLAG 28 29 void setDefaults(); 30}; 31 32extern Flags EsanFlagsDontUseDirectly; 33inline Flags *getFlags() { 34 return &EsanFlagsDontUseDirectly; 35} 36 37void initializeFlags(); 38 39} // namespace __esan 40 41#endif // ESAN_FLAGS_H 42