Mercurial > hg > CbC > CbC_gcc
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 |