diff options
author | Alexey Samsonov <vonosmas@gmail.com> | 2014-12-19 21:40:04 +0000 |
---|---|---|
committer | Alexey Samsonov <vonosmas@gmail.com> | 2014-12-19 21:40:04 +0000 |
commit | 2682c35c75b78d569293e7653359c18a51aac8fa (patch) | |
tree | 1a73bd55f4d808dcb2b580efdbd14ba4e0245e5b /lib/sanitizer_common/sanitizer_flags.h | |
parent | a7d265546807ffc763cb634fe0c1efaa74955ed9 (diff) |
[Sanitizer] Refactor CommonFlags interface. NFC.
Add CommonFlags::SetDefaults() and CommonFlags::ParseFromString(),
so that this object can be easily tested. Enforce
that ParseCommonFlagsFromString() and SetCommonFlagsDefaults()
work only with singleton CommonFlags, shared across all sanitizer
runtimes.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@224617 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/sanitizer_flags.h')
-rw-r--r-- | lib/sanitizer_common/sanitizer_flags.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/sanitizer_common/sanitizer_flags.h b/lib/sanitizer_common/sanitizer_flags.h index 334635c06..698fc9c3d 100644 --- a/lib/sanitizer_common/sanitizer_flags.h +++ b/lib/sanitizer_common/sanitizer_flags.h @@ -64,15 +64,24 @@ struct CommonFlags { bool disable_coredump; bool symbolize_inline_frames; const char *stack_trace_format; + + void SetDefaults(); + void ParseFromString(const char *str); }; +// Functions to get/set global CommonFlags shared by all sanitizer runtimes: +extern CommonFlags common_flags_dont_use; inline CommonFlags *common_flags() { - extern CommonFlags common_flags_dont_use; return &common_flags_dont_use; } -void SetCommonFlagsDefaults(CommonFlags *f); -void ParseCommonFlagsFromString(CommonFlags *f, const char *str); +inline void SetCommonFlagsDefaults() { + common_flags_dont_use.SetDefaults(); +} + +inline void ParseCommonFlagsFromString(const char *str) { + common_flags_dont_use.ParseFromString(str); +} void PrintFlagDescriptions(); } // namespace __sanitizer |