[CMake] Rename add_compiler_rt_static_runtime to add_compiler_rt_runtime.
[blocksruntime.git] / lib / asan / asan_flags.h
blob523302b964ebecb3dfe5e33d7be142c521f40e69
1 //===-- asan_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 AddressSanitizer, an address sanity checker.
12 // ASan runtime flags.
13 //===----------------------------------------------------------------------===//
15 #ifndef ASAN_FLAGS_H
16 #define ASAN_FLAGS_H
18 #include "sanitizer_common/sanitizer_internal_defs.h"
20 // ASan flag values can be defined in four ways:
21 // 1) initialized with default values at startup.
22 // 2) overriden during compilation of ASan runtime by providing
23 // compile definition ASAN_DEFAULT_OPTIONS.
24 // 3) overriden from string returned by user-specified function
25 // __asan_default_options().
26 // 4) overriden from env variable ASAN_OPTIONS.
28 namespace __asan {
30 struct Flags {
31 // Flag descriptions are in asan_rtl.cc.
32 int quarantine_size;
33 int redzone;
34 int max_redzone;
35 bool debug;
36 int report_globals;
37 bool check_initialization_order;
38 bool replace_str;
39 bool replace_intrin;
40 bool mac_ignore_invalid_free;
41 bool detect_stack_use_after_return;
42 int min_uar_stack_size_log;
43 int max_uar_stack_size_log;
44 bool uar_noreserve;
45 int max_malloc_fill_size, malloc_fill_byte;
46 int exitcode;
47 bool allow_user_poisoning;
48 int sleep_before_dying;
49 bool check_malloc_usable_size;
50 bool unmap_shadow_on_exit;
51 bool abort_on_error;
52 bool print_stats;
53 bool print_legend;
54 bool atexit;
55 bool coverage;
56 bool disable_core;
57 bool allow_reexec;
58 bool print_full_thread_history;
59 bool poison_heap;
60 bool poison_partial;
61 bool alloc_dealloc_mismatch;
62 bool strict_memcmp;
63 bool strict_init_order;
64 bool start_deactivated;
65 int detect_invalid_pointer_pairs;
68 extern Flags asan_flags_dont_use_directly;
69 inline Flags *flags() {
70 return &asan_flags_dont_use_directly;
72 void InitializeFlags(Flags *f, const char *env);
74 } // namespace __asan
76 #endif // ASAN_FLAGS_H