Index: llvm/trunk/lib/Support/Regex.cpp =================================================================== --- llvm/trunk/lib/Support/Regex.cpp +++ llvm/trunk/lib/Support/Regex.cpp @@ -19,6 +19,8 @@ #include using namespace llvm; +Regex::Regex() : error(REG_BADPAT), preg(nullptr) {} + Regex::Regex(StringRef regex, unsigned Flags) { unsigned flags = 0; preg = new llvm_regex(); Index: llvm/trunk/unittests/Support/RegexTest.cpp =================================================================== --- llvm/trunk/unittests/Support/RegexTest.cpp +++ llvm/trunk/unittests/Support/RegexTest.cpp @@ -153,4 +153,13 @@ EXPECT_TRUE(r2.match("916")); } +TEST_F(RegexTest, NoArgConstructor) { + std::string Error; + Regex r1; + EXPECT_FALSE(r1.isValid(Error)); + EXPECT_EQ("invalid regular expression", Error); + r1 = Regex("abc"); + EXPECT_TRUE(r1.isValid(Error)); +} + }