From 8cf691c41f48b629e9bf6d96e277852f242861e9 Mon Sep 17 00:00:00 2001 From: timshen Date: Thu, 29 Aug 2013 18:33:07 +0000 Subject: 2013-08-29 Tim Shen * 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 --- .../regex_match/extended/wstring_locale.cc | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc (limited to 'libstdc++-v3/testsuite/28_regex/algorithms') 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 +// +// 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 +// . + +// 28.11.2 regex_match +// Tests Extended localization against a wide-string. + +#include +#include + +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; +} -- cgit v1.2.1