blob: 041578f0663ca9a928701b80f3968c06e7862535 [file] [log] [blame]
Dean Michael Berris47e6b8c2018-05-04 06:27:53 +00001//===-- xray_basic_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 XRay, a dynamic runtime instruementation system.
11//
12// XRay Basic Mode runtime flags.
13//===----------------------------------------------------------------------===//
14
15#ifndef XRAY_BASIC_FLAGS_H
16#define XRAY_BASIC_FLAGS_H
17
18#include "sanitizer_common/sanitizer_flag_parser.h"
19#include "sanitizer_common/sanitizer_internal_defs.h"
20
21namespace __xray {
22
23struct BasicFlags {
24#define XRAY_FLAG(Type, Name, DefaultValue, Description) Type Name;
25#include "xray_basic_flags.inc"
26#undef XRAY_FLAG
27
28 void setDefaults();
29};
30
31extern BasicFlags xray_basic_flags_dont_use_directly;
32extern void registerXRayBasicFlags(FlagParser *P, BasicFlags *F);
33const char *useCompilerDefinedBasicFlags();
34inline BasicFlags *basicFlags() { return &xray_basic_flags_dont_use_directly; }
35
36} // namespace __xray
37
38#endif // XRAY_BASIC_FLAGS_H