From 630d078b6dc3cd51a5cd3dbd76bfbaca065d30ae Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Mon, 2 Oct 2017 16:50:41 +0800 Subject: [PATCH] Regex: Fix use of not-yet-constructed CompiledRegex in TestVM impl --- src/regex_impl.cc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/regex_impl.cc b/src/regex_impl.cc index 26bbcb7e..b8a656d2 100644 --- a/src/regex_impl.cc +++ b/src/regex_impl.cc @@ -812,19 +812,17 @@ CompiledRegex compile_regex(StringView re) } auto test_regex = UnitTest{[]{ - struct TestVM : ThreadedRegexVM + struct TestVM : CompiledRegex, ThreadedRegexVM { TestVM(StringView re, bool dump = false) - : ThreadedRegexVM{m_program}, - m_program{RegexCompiler::compile(re)} - { if (dump) dump_regex(m_program); } + : CompiledRegex{RegexCompiler::compile(re)}, + ThreadedRegexVM{(const CompiledRegex&)*this} + { if (dump) dump_regex(*this); } bool exec(StringView re, bool match = true, bool longest = false) { return ThreadedRegexVM::exec(re.begin(), re.end(), match, longest); } - - CompiledRegex m_program; }; {