[llvm] r280339 - [LLVM/Support] - Create no-arguments constructor for llvm::Regex
George Rimar via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 1 01:00:29 PDT 2016
Author: grimar
Date: Thu Sep 1 03:00:28 2016
New Revision: 280339
URL: http://llvm.org/viewvc/llvm-project?rev=280339&view=rev
Log:
[LLVM/Support] - Create no-arguments constructor for llvm::Regex
This is useful when need to defer the construction,
e.g. using Regex as a member of class.
Differential revision: https://reviews.llvm.org/D24101
Modified:
llvm/trunk/lib/Support/Regex.cpp
llvm/trunk/unittests/Support/RegexTest.cpp
Modified: llvm/trunk/lib/Support/Regex.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Regex.cpp?rev=280339&r1=280338&r2=280339&view=diff
==============================================================================
--- llvm/trunk/lib/Support/Regex.cpp (original)
+++ llvm/trunk/lib/Support/Regex.cpp Thu Sep 1 03:00:28 2016
@@ -19,6 +19,8 @@
#include <string>
using namespace llvm;
+Regex::Regex() : error(REG_BADPAT), preg(nullptr) {}
+
Regex::Regex(StringRef regex, unsigned Flags) {
unsigned flags = 0;
preg = new llvm_regex();
Modified: llvm/trunk/unittests/Support/RegexTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/RegexTest.cpp?rev=280339&r1=280338&r2=280339&view=diff
==============================================================================
--- llvm/trunk/unittests/Support/RegexTest.cpp (original)
+++ llvm/trunk/unittests/Support/RegexTest.cpp Thu Sep 1 03:00:28 2016
@@ -153,4 +153,13 @@ TEST_F(RegexTest, MoveAssign) {
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));
+}
+
}
More information about the llvm-commits
mailing list