Home | History | Annotate | Download | only in esan
      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 
     21 namespace __esan {
     22 
     23 class Flags {
     24 public:
     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 
     32 extern Flags EsanFlagsDontUseDirectly;
     33 inline Flags *getFlags() {
     34   return &EsanFlagsDontUseDirectly;
     35 }
     36 
     37 void initializeFlags();
     38 
     39 } // namespace __esan
     40 
     41 #endif // ESAN_FLAGS_H
     42