comparison libsanitizer/ubsan/ubsan_flags.h @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 1830386684a0
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 //===-- ubsan_flags.h -------------------------------------------*- C++ -*-===//
2 //
3 // This file is distributed under the University of Illinois Open Source
4 // License. See LICENSE.TXT for details.
5 //
6 //===----------------------------------------------------------------------===//
7 //
8 // Runtime flags for UndefinedBehaviorSanitizer.
9 //
10 //===----------------------------------------------------------------------===//
11 #ifndef UBSAN_FLAGS_H
12 #define UBSAN_FLAGS_H
13
14 #include "sanitizer_common/sanitizer_internal_defs.h"
15
16 namespace __sanitizer {
17 class FlagParser;
18 }
19
20 namespace __ubsan {
21
22 struct Flags {
23 #define UBSAN_FLAG(Type, Name, DefaultValue, Description) Type Name;
24 #include "ubsan_flags.inc"
25 #undef UBSAN_FLAG
26
27 void SetDefaults();
28 };
29
30 extern Flags ubsan_flags;
31 inline Flags *flags() { return &ubsan_flags; }
32
33 void InitializeFlags();
34 void RegisterUbsanFlags(FlagParser *parser, Flags *f);
35
36 const char *MaybeCallUbsanDefaultOptions();
37
38 } // namespace __ubsan
39
40 extern "C" {
41 // Users may provide their own implementation of __ubsan_default_options to
42 // override the default flag values.
43 SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE
44 const char *__ubsan_default_options();
45 } // extern "C"
46
47 #endif // UBSAN_FLAGS_H