summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/sanitizer_flags.h
diff options
context:
space:
mode:
authorAlexey Samsonov <vonosmas@gmail.com>2014-12-19 21:40:04 +0000
committerAlexey Samsonov <vonosmas@gmail.com>2014-12-19 21:40:04 +0000
commit2682c35c75b78d569293e7653359c18a51aac8fa (patch)
tree1a73bd55f4d808dcb2b580efdbd14ba4e0245e5b /lib/sanitizer_common/sanitizer_flags.h
parenta7d265546807ffc763cb634fe0c1efaa74955ed9 (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.h15
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