diff options
Diffstat (limited to 'lib/msan/msan.cc')
-rw-r--r-- | lib/msan/msan.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/msan/msan.cc b/lib/msan/msan.cc index 4adcc9eb8e6a0..ed6efbdd682f5 100644 --- a/lib/msan/msan.cc +++ b/lib/msan/msan.cc @@ -111,7 +111,7 @@ class FlagHandlerKeepGoing : public FlagHandlerBase { public: explicit FlagHandlerKeepGoing(bool *halt_on_error) : halt_on_error_(halt_on_error) {} - bool Parse(const char *value) { + bool Parse(const char *value) final { bool tmp; FlagHandler<bool> h(&tmp); if (!h.Parse(value)) return false; @@ -120,7 +120,7 @@ class FlagHandlerKeepGoing : public FlagHandlerBase { } }; -void RegisterMsanFlags(FlagParser *parser, Flags *f) { +static void RegisterMsanFlags(FlagParser *parser, Flags *f) { #define MSAN_FLAG(Type, Name, DefaultValue, Description) \ RegisterFlag(parser, #Name, Description, &f->Name); #include "msan_flags.inc" @@ -132,7 +132,8 @@ void RegisterMsanFlags(FlagParser *parser, Flags *f) { "deprecated, use halt_on_error"); } -static void InitializeFlags(Flags *f, const char *options) { +static void InitializeFlags() { + Flags *f = flags(); FlagParser parser; RegisterMsanFlags(&parser, f); RegisterCommonFlags(&parser); @@ -156,7 +157,9 @@ static void InitializeFlags(Flags *f, const char *options) { if (__msan_default_options) parser.ParseString(__msan_default_options()); - parser.ParseString(options); + const char *msan_options = GetEnv("MSAN_OPTIONS"); + parser.ParseString(msan_options); + VPrintf(1, "MSAN_OPTIONS: %s\n", msan_options ? msan_options : "<empty>"); SetVerbosity(common_flags()->verbosity); @@ -351,8 +354,7 @@ void __msan_init() { SetDieCallback(MsanDie); InitTlsSize(); - const char *msan_options = GetEnv("MSAN_OPTIONS"); - InitializeFlags(&msan_flags, msan_options); + InitializeFlags(); __sanitizer_set_report_path(common_flags()->log_path); InitializeInterceptors(); @@ -369,8 +371,6 @@ void __msan_init() { ReExec(); } - VPrintf(1, "MSAN_OPTIONS: %s\n", msan_options ? msan_options : "<empty>"); - __msan_clear_on_return(); if (__msan_get_track_origins()) VPrintf(1, "msan_track_origins\n"); |