summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/re
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2015-01-13 16:49:52 +0000
committerMarshall Clow <mclow.lists@gmail.com>2015-01-13 16:49:52 +0000
commit9db9069cf31eb9eddc1ff19b0d5667e33a8c3f75 (patch)
treea4d3b9936cb43e4a3e3fc80847a10f94a1379db9 /libcxx/test/std/re
parente7cad7a1dffff3232e649c7684dfedf5e640b94d (diff)
downloadbcm5719-llvm-9db9069cf31eb9eddc1ff19b0d5667e33a8c3f75.tar.gz
bcm5719-llvm-9db9069cf31eb9eddc1ff19b0d5667e33a8c3f75.zip
Make regex::assign not clobber the regex in case of failure. Fixes PR#22213
llvm-svn: 225799
Diffstat (limited to 'libcxx/test/std/re')
-rw-r--r--libcxx/test/std/re/re.regex/re.regex.assign/assign.pass.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/libcxx/test/std/re/re.regex/re.regex.assign/assign.pass.cpp b/libcxx/test/std/re/re.regex/re.regex.assign/assign.pass.cpp
index 1bd0022edbc..8bf98268c49 100644
--- a/libcxx/test/std/re/re.regex/re.regex.assign/assign.pass.cpp
+++ b/libcxx/test/std/re/re.regex/re.regex.assign/assign.pass.cpp
@@ -23,4 +23,13 @@ int main()
r2.assign(r1);
assert(r2.flags() == std::regex::ECMAScript);
assert(r2.mark_count() == 2);
+ assert(std::regex_search("ab", r2));
+
+ bool caught = false;
+ try { r2.assign("(def", std::regex::extended); }
+ catch(std::regex_error &) { caught = true; }
+ assert(caught);
+ assert(r2.flags() == std::regex::ECMAScript);
+ assert(r2.mark_count() == 2);
+ assert(std::regex_search("ab", r2));
}
OpenPOWER on IntegriCloud