Make regex::assign not clobber the regex in case of failure. Fixes PR#22213
llvm-svn: 225799
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 9db9069cf31eb9eddc1ff19b0d5667e33a8c3f75
diff --git a/include/regex b/include/regex
index 690213a..39e106c 100644
--- a/include/regex
+++ b/include/regex
@@ -2599,9 +2599,7 @@
assign(_ForwardIterator __first, _ForwardIterator __last,
flag_type __f = regex_constants::ECMAScript)
{
- __member_init(__f);
- __parse(__first, __last);
- return *this;
+ return assign(basic_regex(__first, __last, __f));
}
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS