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