diff options
author | Marshall Clow <mclow.lists@gmail.com> | 2019-09-25 16:40:30 +0000 |
---|---|---|
committer | Marshall Clow <mclow.lists@gmail.com> | 2019-09-25 16:40:30 +0000 |
commit | e3f89a989a23b9bfcb9f9d01172cebb63db627e1 (patch) | |
tree | 2d902989667b57b7484be8b69d24f3d7c7618550 | |
parent | 30a07d8f8edb0f1630e55bb14aa2edeb4192291e (diff) | |
download | bcm5719-llvm-e3f89a989a23b9bfcb9f9d01172cebb63db627e1.tar.gz bcm5719-llvm-e3f89a989a23b9bfcb9f9d01172cebb63db627e1.zip |
Add a missing default parameter to regex::assign. This is LWG3296; reviewed as https://reviews.llvm.org/D67944
llvm-svn: 372896
-rw-r--r-- | libcxx/include/regex | 12 | ||||
-rw-r--r-- | libcxx/test/std/re/re.regex/re.regex.assign/assign_ptr_size_flag.pass.cpp | 10 |
2 files changed, 16 insertions, 6 deletions
diff --git a/libcxx/include/regex b/libcxx/include/regex index 26efac1c620..d13f9addb70 100644 --- a/libcxx/include/regex +++ b/libcxx/include/regex @@ -169,15 +169,15 @@ public: // assign: basic_regex& assign(const basic_regex& that); basic_regex& assign(basic_regex&& that) noexcept; - basic_regex& assign(const charT* ptr, flag_type f = regex_constants::ECMAScript); - basic_regex& assign(const charT* p, size_t len, flag_type f); + basic_regex& assign(const charT* ptr, flag_type f = regex_constants::ECMAScript); + basic_regex& assign(const charT* p, size_t len, flag_type f = regex_constants::ECMAScript); template <class string_traits, class A> basic_regex& assign(const basic_string<charT, string_traits, A>& s, - flag_type f = regex_constants::ECMAScript); + flag_type f = regex_constants::ECMAScript); template <class InputIterator> basic_regex& assign(InputIterator first, InputIterator last, - flag_type f = regex_constants::ECMAScript); - basic_regex& assign(initializer_list<charT>, flag_type = regex_constants::ECMAScript); + flag_type f = regex_constants::ECMAScript); + basic_regex& assign(initializer_list<charT>, flag_type f = regex_constants::ECMAScript); // const operations: unsigned mark_count() const; @@ -2617,7 +2617,7 @@ public: basic_regex& assign(const value_type* __p, flag_type __f = regex_constants::ECMAScript) {return assign(__p, __p + __traits_.length(__p), __f);} _LIBCPP_INLINE_VISIBILITY - basic_regex& assign(const value_type* __p, size_t __len, flag_type __f) + basic_regex& assign(const value_type* __p, size_t __len, flag_type __f = regex_constants::ECMAScript) {return assign(__p, __p + __len, __f);} template <class _ST, class _SA> _LIBCPP_INLINE_VISIBILITY diff --git a/libcxx/test/std/re/re.regex/re.regex.assign/assign_ptr_size_flag.pass.cpp b/libcxx/test/std/re/re.regex/re.regex.assign/assign_ptr_size_flag.pass.cpp index cdbdae43054..e74a42b6934 100644 --- a/libcxx/test/std/re/re.regex/re.regex.assign/assign_ptr_size_flag.pass.cpp +++ b/libcxx/test/std/re/re.regex/re.regex.assign/assign_ptr_size_flag.pass.cpp @@ -18,6 +18,16 @@ int main(int, char**) { + std::regex r0; + r0.assign("(a([bc]))", 9); + assert(r0.flags() == std::regex::ECMAScript); + assert(r0.mark_count() == 2); + + std::regex r1; + r1.assign("(a([bc]))", 9, std::regex::ECMAScript); + assert(r1.flags() == std::regex::ECMAScript); + assert(r1.mark_count() == 2); + std::regex r2; r2.assign("(a([bc]))", 9, std::regex::extended); assert(r2.flags() == std::regex::extended); |