summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/28_regex/algorithms
diff options
context:
space:
mode:
authortimshen <timshen@138bc75d-0d04-0410-961f-82ee72b054a4>2013-08-29 18:33:07 +0000
committertimshen <timshen@138bc75d-0d04-0410-961f-82ee72b054a4>2013-08-29 18:33:07 +0000
commit8cf691c41f48b629e9bf6d96e277852f242861e9 (patch)
tree47953718d312ebb6f609c71919a39de4a22c5f23 /libstdc++-v3/testsuite/28_regex/algorithms
parentb3521e4b13778020b7c1c6f09421f8cb983f9dd0 (diff)
downloadgcc-8cf691c41f48b629e9bf6d96e277852f242861e9.tar.gz
2013-08-29 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits. (regex_iterator<>::regex_iterator): Return nullptr when regex_search failed. (regex_token_iterator<>::_M_end_of_seq): Should be defined true when _M_result is(not isn't) nullptr. * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference instead of by value. * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add _M_traits to _DFSExecutor. * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to _DFSExecutor too. * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc: New. * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/ wstring_02.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202082 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/testsuite/28_regex/algorithms')
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc48
1 files changed, 48 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc
new file mode 100644
index 00000000000..6ab48ca6baf
--- /dev/null
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc
@@ -0,0 +1,48 @@
+// { dg-options "-std=gnu++11" }
+// { dg-require-namedlocale "de_DE.UTF-8" }
+
+//
+// 2013-08-29 Tim Shen <timshen91@gmail.com>
+//
+// Copyright (C) 2013 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.11.2 regex_match
+// Tests Extended localization against a wide-string.
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ bool test __attribute__((unused)) = true;
+
+ std::wstring str2 = L"ÜBER";
+ std::wregex re2;
+ re2.imbue(std::locale("de_DE.UTF-8"));
+ re2.assign(L"[[:upper:]]*", std::regex::extended);
+ std::wsmatch m2;
+ VERIFY(std::regex_match(str2, m2, re2));
+}
+
+int
+main()
+{
+ test01();
+ return 0;
+}