1 //===-- ubsan_flags.h -------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // Runtime flags for UndefinedBehaviorSanitizer.
12 //===----------------------------------------------------------------------===//
16 #include "sanitizer_common/sanitizer_internal_defs.h"
18 namespace __sanitizer
{
25 #define UBSAN_FLAG(Type, Name, DefaultValue, Description) Type Name;
26 #include "ubsan_flags.inc"
32 extern Flags ubsan_flags
;
33 inline Flags
*flags() { return &ubsan_flags
; }
35 void InitializeFlags();
36 void RegisterUbsanFlags(FlagParser
*parser
, Flags
*f
);
38 const char *MaybeCallUbsanDefaultOptions();
40 } // namespace __ubsan
43 // Users may provide their own implementation of __ubsan_default_options to
44 // override the default flag values.
45 SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE
46 const char *__ubsan_default_options();
49 #endif // UBSAN_FLAGS_H