diff options
author | Paolo Carlini <pcarlini@suse.de> | 2004-12-20 11:26:24 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2004-12-20 11:26:24 +0000 |
commit | 8f7e12f0dac20ed85fdb563070d3967c12f7ae3e (patch) | |
tree | ca1a451798f52c067dab556903df2ac70078a7a9 | |
parent | a16da3ae5032c663a270394b6eb477171d11e573 (diff) | |
download | gcc-8f7e12f0dac20ed85fdb563070d3967c12f7ae3e.zip gcc-8f7e12f0dac20ed85fdb563070d3967c12f7ae3e.tar.gz gcc-8f7e12f0dac20ed85fdb563070d3967c12f7ae3e.tar.bz2 |
1.cc: New.
2004-12-20 Paolo Carlini <pcarlini@suse.de>
* testsuite/27_io/basic_istream/peek/wchar_t/1.cc: New.
* testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
* testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
* testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
* testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
* testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
* testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
* testsuite/data/wistream_extractor_other-1.tst: New.
* testsuite/data/wistream_extractor_other-1.txt: Likewise.
* testsuite/data/wistream_extractor_other-2.tst: Likewise.
* testsuite/data/wistream_seeks-1.tst: Likewise.
* testsuite/data/wistream_seeks-1.txt: Likewise.
* testsuite/data/wistream_unformatted-1.tst: Likewise.
* testsuite/data/wistream_unformatted-1.txt: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc:
Use wistream_extractor_other-1.txt.
* testsuite/27_io/basic_istream/peek/char/6414.cc: Minor clean-up.
* testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
From-SVN: r92414
41 files changed, 5079 insertions, 15 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index c7f9b11..fecd625 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,51 @@ +2004-12-20 Paolo Carlini <pcarlini@suse.de> + + * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: New. + * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise. + * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise. + * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise. + * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise. + * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise. + * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. + * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise. + * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise. + + * testsuite/data/wistream_extractor_other-1.tst: New. + * testsuite/data/wistream_extractor_other-1.txt: Likewise. + * testsuite/data/wistream_extractor_other-2.tst: Likewise. + * testsuite/data/wistream_seeks-1.tst: Likewise. + * testsuite/data/wistream_seeks-1.txt: Likewise. + * testsuite/data/wistream_unformatted-1.tst: Likewise. + * testsuite/data/wistream_unformatted-1.txt: Likewise. + + * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: + Use wistream_extractor_other-1.txt. + + * testsuite/27_io/basic_istream/peek/char/6414.cc: Minor clean-up. + * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise. + * testsuite/27_io/basic_istream/read/char/1.cc: Likewise. + * testsuite/27_io/basic_istream/read/char/2.cc: Likewise. + 2004-12-19 Paolo Carlini <pcarlini@suse.de> * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: New. diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc index 4bdbe50..f942b26 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc @@ -28,7 +28,7 @@ void test02() { bool test __attribute__((unused)) = true; - const char name_01[] = "istream_extractor_other-1.txt"; //read + const char name_01[] = "wistream_extractor_other-1.txt"; //read const char name_02[] = "wistream_extractor_other-2.txt"; //write std::wfilebuf fbin, fbout; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/6414.cc b/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/6414.cc index 98a99e7..4f1d371 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/6414.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/6414.cc @@ -1,6 +1,6 @@ // 2000-06-29 bkoz -// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation +// Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation // // 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 @@ -31,7 +31,7 @@ void test04(void) { bool test __attribute__((unused)) = true; - std::istream::pos_type pos01, pos02, pos03, pos04, pos05, pos06; + std::istream::pos_type pos01, pos02; const char str_lit01[] = "istream_seeks-1.txt"; std::ifstream if01(str_lit01, std::ios_base::in | std::ios_base::out); diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc new file mode 100644 index 0000000..93251c1 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc @@ -0,0 +1,92 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions + +#include <istream> +#include <sstream> +#include <testsuite_hooks.h> + +void +test01() +{ + typedef std::wios::traits_type traits_type; + + bool test __attribute__((unused)) = true; + const std::wstring str_01; + const std::wstring str_02(L"soul eyes: john coltrane quartet"); + std::wstring strtmp; + + std::wstringbuf isbuf_03(str_02, std::ios_base::in); + std::wstringbuf isbuf_04(str_02, std::ios_base::in); + + std::wistream is_00(NULL); + std::wistream is_03(&isbuf_03); + std::wistream is_04(&isbuf_04); + std::ios_base::iostate state1, state2, statefail, stateeof; + statefail = std::ios_base::failbit; + stateeof = std::ios_base::eofbit; + + wchar_t carray[60] = L""; + + // istream& ignore(streamsize n = 1, int_type delim = traits::eof()) + is_04.read(carray, 9); + VERIFY( is_04.peek() == L':' ); + + state1 = is_04.rdstate(); + is_04.ignore(); + VERIFY( is_04.gcount() == 1 ); + state2 = is_04.rdstate(); + VERIFY( state1 == state2 ); + VERIFY( is_04.peek() == L' ' ); + + state1 = is_04.rdstate(); + is_04.ignore(0); + VERIFY( is_04.gcount() == 0 ); + state2 = is_04.rdstate(); + VERIFY( state1 == state2 ); + VERIFY( is_04.peek() == L' ' ); + + state1 = is_04.rdstate(); + is_04.ignore(5, traits_type::to_int_type(' ')); + VERIFY( is_04.gcount() == 1 ); + state2 = is_04.rdstate(); + VERIFY( state1 == state2 ); + VERIFY( is_04.peek() == L'j' ); + + // int_type peek() + state1 = is_04.rdstate(); + VERIFY( is_04.peek() == L'j' ); + VERIFY( is_04.gcount() == 0 ); + state2 = is_04.rdstate(); + VERIFY( state1 == state2 ); + + is_04.ignore(30); + state1 = is_04.rdstate(); + VERIFY( is_04.peek() == traits_type::eof() ); + VERIFY( is_04.gcount() == 0 ); + state2 = is_04.rdstate(); + VERIFY( state1 != state2 ); +} + +int +main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/12296.cc b/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/12296.cc new file mode 100644 index 0000000..43f4b17 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/12296.cc @@ -0,0 +1,41 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions + +#include <sstream> +#include <testsuite_hooks.h> + +// libstdc++/12296 +void test01() +{ + using namespace std; + bool test __attribute__((unused)) = true; + + wistringstream stream; + VERIFY( stream.rdstate() == ios_base::goodbit ); + wistringstream::int_type c = stream.peek(); + VERIFY( c == istringstream::traits_type::eof() ); + VERIFY( stream.rdstate() == ios_base::eofbit ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/6414.cc b/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/6414.cc new file mode 100644 index 0000000..938453a --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/6414.cc @@ -0,0 +1,48 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions +// NB: ostream has a particular "seeks" category. Adopt this for istreams too. +// @require@ %-*.tst %-*.txt +// @diff@ %-*.tst %-*.txt + +#include <istream> +#include <fstream> +#include <testsuite_hooks.h> + +// fstreams +void test04(void) +{ + bool test __attribute__((unused)) = true; + std::wistream::pos_type pos01, pos02; + const char str_lit01[] = "wistream_seeks-1.txt"; + std::wifstream if01(str_lit01, std::ios_base::in | std::ios_base::out); + + // libstdc++/6414 + if01.seekg(0, std::ios_base::beg); + pos01 = if01.tellg(); + if01.peek(); + pos02 = if01.tellg(); + VERIFY( pos02 == pos01 ); +} + +int main() +{ + test04(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/putback/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/putback/char/1.cc index b3c64f6..b2c9efb 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/putback/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/putback/char/1.cc @@ -27,8 +27,6 @@ void test01() { - typedef std::ios::traits_type traits_type; - bool test __attribute__((unused)) = true; const std::string str_01; const std::string str_02("soul eyes: john coltrane quartet"); @@ -41,9 +39,7 @@ test01() std::istream is_00(&isbuf_05); std::istream is_03(&isbuf_03); std::istream is_04(&isbuf_04); - std::ios_base::iostate state1, state2, statefail, stateeof; - statefail = std::ios_base::failbit; - stateeof = std::ios_base::eofbit; + std::ios_base::iostate state1, state2; // istream& putback(char c) is_04.ignore(30); diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/putback/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/putback/wchar_t/1.cc new file mode 100644 index 0000000..6000b97 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/putback/wchar_t/1.cc @@ -0,0 +1,74 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions + +#include <istream> +#include <sstream> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + const std::wstring str_01; + const std::wstring str_02(L"soul eyes: john coltrane quartet"); + std::wstring strtmp; + + std::wstringbuf isbuf_03(str_02, std::ios_base::in); + std::wstringbuf isbuf_04(str_02, std::ios_base::in); + std::wstringbuf isbuf_05(str_02, std::ios_base::in); + + std::wistream is_00(&isbuf_05); + std::wistream is_03(&isbuf_03); + std::wistream is_04(&isbuf_04); + std::ios_base::iostate state1, state2; + + // istream& putback(char_type c) + is_04.ignore(30); + is_04.clear(); + state1 = is_04.rdstate(); + is_04.putback(L't'); + VERIFY( is_04.gcount() == 0 ); // DR 60 + state2 = is_04.rdstate(); + VERIFY( state1 == state2 ); + VERIFY( is_04.peek() == L't' ); + + // istream& unget() + is_04.clear(); + state1 = is_04.rdstate(); + is_04.unget(); + VERIFY( is_04.gcount() == 0 ); // DR 60 + state2 = is_04.rdstate(); + VERIFY( state1 == state2 ); + VERIFY( is_04.peek() == L'r' ); + + // int sync() + is_00.ignore(10); + int count1 = is_00.gcount(); + is_00.sync(); + int count2 = is_00.gcount(); + VERIFY (count1 == count2 ); // DR 60 +} + +int +main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc index 70f14b9..81081b4 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc @@ -1,6 +1,6 @@ // 1999-08-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation // // 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 @@ -28,12 +28,8 @@ void test01() { - typedef std::ios::traits_type traits_type; - bool test __attribute__((unused)) = true; - const std::string str_01; const std::string str_02("soul eyes: john coltrane quartet"); - std::string strtmp; std::stringbuf isbuf_03(str_02, std::ios_base::in); std::stringbuf isbuf_04(str_02, std::ios_base::in); diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/read/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/read/char/2.cc index 7eeb212..5214e03 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/read/char/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/read/char/2.cc @@ -1,6 +1,6 @@ // 1999-08-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation // // 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 @@ -32,7 +32,6 @@ test04() bool test __attribute__((unused)) = true; const std::string str_00("Red_Garland_Qunitet-Soul_Junction"); - std::string strtmp; char c_array[str_00.size() + 4]; std::stringbuf isbuf_00(str_00, std::ios_base::in); diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc new file mode 100644 index 0000000..dd24afa --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc @@ -0,0 +1,70 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions + +#include <cwchar> // for wcsncmp,... +#include <istream> +#include <sstream> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + const std::wstring str_02(L"soul eyes: john coltrane quartet"); + + std::wstringbuf isbuf_03(str_02, std::ios_base::in); + std::wstringbuf isbuf_04(str_02, std::ios_base::in); + + std::wistream is_00(NULL); + std::wistream is_03(&isbuf_03); + std::wistream is_04(&isbuf_04); + std::ios_base::iostate state1, state2, statefail, stateeof; + statefail = std::ios_base::failbit; + stateeof = std::ios_base::eofbit; + + // istream& read(char_type* s, streamsize n) + wchar_t carray[60] = L""; + state1 = is_04.rdstate(); + is_04.read(carray, 0); + state2 = is_04.rdstate(); + VERIFY( state1 == state2 ); + + state1 = is_04.rdstate(); + is_04.read(carray, 9); + state2 = is_04.rdstate(); + VERIFY( state1 == state2 ); + VERIFY( !std::wcsncmp(carray, L"soul eyes", 9) ); + VERIFY( is_04.peek() == L':' ); + + state1 = is_03.rdstate(); + is_03.read(carray, 60); + state2 = is_03.rdstate(); + VERIFY( state1 != state2 ); + VERIFY( static_cast<bool>(state2 & stateeof) ); + VERIFY( static_cast<bool>(state2 & statefail) ); + VERIFY( !std::wcsncmp(carray, L"soul eyes: john coltrane quartet", 35) ); +} + +int +main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/2.cc new file mode 100644 index 0000000..977979d --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/2.cc @@ -0,0 +1,56 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions + +#include <istream> +#include <sstream> +#include <testsuite_hooks.h> + +// Jim Parsons <parsons at clearway dot com> +// http://gcc.gnu.org/ml/libstdc++/2000-q1/msg00177.html +void +test04() +{ + bool test __attribute__((unused)) = true; + + const std::wstring str_00(L"Red_Garland_Qunitet-Soul_Junction"); + wchar_t c_array[str_00.size() + 4]; + + std::wstringbuf isbuf_00(str_00, std::ios_base::in); + std::wistream is_00(&isbuf_00); + std::ios_base::iostate state1, statefail, stateeof; + statefail = std::ios_base::failbit; + stateeof = std::ios_base::eofbit; + + state1 = stateeof | statefail; + VERIFY( is_00.gcount() == 0 ); + is_00.read(c_array, str_00.size() + 1); + VERIFY( is_00.gcount() == static_cast<std::streamsize>(str_00.size()) ); + VERIFY( is_00.rdstate() == state1 ); + + is_00.read(c_array, str_00.size()); + VERIFY( is_00.rdstate() == state1 ); +} + +int +main() +{ + test04(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/3.cc new file mode 100644 index 0000000..6910f36 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/3.cc @@ -0,0 +1,45 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions + +#include <istream> +#include <sstream> +#include <testsuite_hooks.h> + +// Theodore Papadopoulo +void +test09() +{ + using namespace std; + bool test __attribute__((unused)) = true; + + wistringstream iss(L"Juana Briones"); + wchar_t tab[13]; + iss.read(tab, 13); + if (!iss) + test = false; + VERIFY( test ); +} + +int +main() +{ + test09(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc new file mode 100644 index 0000000..35fe6d0 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc @@ -0,0 +1,54 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions + +#include <istream> +#include <sstream> +#include <testsuite_hooks.h> + +// libstdc++/6746 +void test12() +{ + using namespace std; + bool test __attribute__((unused)) = true; + streamsize sum = 0; + wistringstream iss(L"shamma shamma"); + + // test01 + size_t i = iss.rdbuf()->in_avail(); + VERIFY( i != 0 ); + + // test02 + streamsize extracted; + do + { + wchar_t buf[1024]; + extracted = iss.readsome(buf, sizeof(buf) / sizeof(wchar_t)); + sum += extracted; + } + while (iss.good() && extracted); + VERIFY( sum != 0 ); +} + +int +main() +{ + test12(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc new file mode 100644 index 0000000..30e2a3a --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc @@ -0,0 +1,60 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// The ARM simulator does not provide support for "fstat", which +// causes "in_avail" to return an incorrect value. +// { dg-do run { xfail arm*-*-elf arm*-*-eabi } } + +// 27.6.1.3 unformatted input functions +// @require@ %-*.tst %-*.txt +// @diff@ %-*.tst %-*.txt + +#include <istream> +#include <fstream> +#include <testsuite_hooks.h> + +// libstdc++/6746 +void test13() +{ + using namespace std; + bool test __attribute__((unused)) = true; + streamsize sum = 0; + wifstream ifs("wistream_unformatted-1.tst"); + + // test01 + size_t i = ifs.rdbuf()->in_avail(); + VERIFY( i != 0 ); + + // test02 + streamsize extracted; + do + { + wchar_t buf[1024]; + extracted = ifs.readsome(buf, sizeof(buf) / sizeof(wchar_t)); + sum += extracted; + } + while (ifs.good() && extracted); + VERIFY( sum != 0 ); +} + +int +main() +{ + test13(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc new file mode 100644 index 0000000..5b9a2bb --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc @@ -0,0 +1,47 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions + +#include <istream> +#include <streambuf> +#include <testsuite_hooks.h> + +// libstdc++/8258 +class mybuf : public std::basic_streambuf<wchar_t> +{ }; + +void test11() +{ + bool test __attribute__((unused)) = true; + using namespace std; + wchar_t arr[10]; + mybuf sbuf; + basic_istream<wchar_t, char_traits<wchar_t> > istr(&sbuf); + + VERIFY( istr.rdstate() == ios_base::goodbit ); + VERIFY( istr.readsome(arr, 10) == 0 ); + VERIFY( istr.rdstate() == ios_base::goodbit ); +} + +int +main() +{ + test11(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/2.cc new file mode 100644 index 0000000..b40145c --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/2.cc @@ -0,0 +1,47 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions +// DR 60 -- seekg does not effect calls to gcount + +#include <istream> +#include <sstream> +#include <testsuite_hooks.h> + +void test01() +{ + using namespace std; + bool test __attribute__((unused)) = true; + + wistringstream ist(L"the lamb lies down on broadway"); + wios::pos_type pos = ist.tellg(); + ist.ignore(4); + int count1 = ist.gcount(); + ist.seekg(pos); + int count2 = ist.gcount(); + VERIFY( count1 == count2 ); + ist.seekg(wios::off_type(pos), wios::beg); + count2 = ist.gcount(); + VERIFY( count1 == count2 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc new file mode 100644 index 0000000..98e2697 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc @@ -0,0 +1,50 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions +// NB: ostream has a particular "seeks" category. Adopt this for istreams too. + +#include <istream> +#include <sstream> +#include <testsuite_hooks.h> + +// libstdc++/8348 +void test06(void) +{ + using namespace std; + bool test __attribute__((unused)) = true; + wstring num1(L"555"); + + // seekg + { + wistringstream iss(num1); + wistream::pos_type pos1 = iss.tellg(); + int asNum = 0; + iss >> asNum; + VERIFY( test = iss.eof() ); + VERIFY( test = !iss.fail() ); + iss.seekg(pos1); + VERIFY( test = !iss.fail() ); + } +} + +int main() +{ + test06(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc new file mode 100644 index 0000000..4d15c1e --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc @@ -0,0 +1,50 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions +// NB: ostream has a particular "seeks" category. Adopt this for istreams too. + +#include <istream> +#include <sstream> +#include <testsuite_hooks.h> + +// libstdc++/8348 +void test06(void) +{ + using namespace std; + bool test __attribute__((unused)) = true; + wstring num1(L"555"); + + // seekg + { + wistringstream iss(num1); + wistream::pos_type pos1 = iss.tellg(); + int asNum = 0; + iss >> asNum; + VERIFY( test = iss.eof() ); + VERIFY( test = !iss.fail() ); + iss.seekg(0, ios_base::beg); + VERIFY( test = !iss.fail() ); + } +} + +int main() +{ + test06(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/exceptions_badbit_throw.cc new file mode 100644 index 0000000..5aa5c81 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/exceptions_badbit_throw.cc @@ -0,0 +1,96 @@ +// Copyright (C) 2004 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +#include <istream> +#include <streambuf> +#include <sstream> +#include <testsuite_hooks.h> +#include <testsuite_io.h> + +using namespace std; + +void test01() +{ + bool test __attribute__((unused)) = true; + __gnu_test::fail_wstreambuf bib; + wistream stream(&bib); + stream.exceptions(ios_base::badbit); + + wistream::pos_type pos; + + try + { + stream.seekg(pos); + VERIFY( false ); + } + catch (const __gnu_test::positioning_error&) + { + // stream should set badbit and rethrow facet_error. + VERIFY( stream.bad() ); + VERIFY( (stream.rdstate() & ios_base::failbit) == 0 ); + VERIFY( !stream.eof() ); + } + catch (...) + { + VERIFY(false); + } +} + +void test02() +{ + bool test __attribute__((unused)) = true; + __gnu_test::fail_wstreambuf bib; + wistream stream(&bib); + stream.exceptions(ios_base::badbit); + + wistream::off_type off(5); + + try + { + stream.seekg(off, ios_base::cur); + VERIFY( false ); + } + catch (const __gnu_test::positioning_error&) + { + // stream should set badbit and rethrow facet_error. + VERIFY( stream.bad() ); + VERIFY( (stream.rdstate() & ios_base::failbit) == 0 ); + VERIFY( !stream.eof() ); + } + catch (...) + { + VERIFY(false); + } +} + +// libstdc++/9546 +int main() +{ + test01(); + test02(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc new file mode 100644 index 0000000..71ad946 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc @@ -0,0 +1,125 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions +// NB: ostream has a particular "seeks" category. Adopt this for istreams too. +// @require@ %-*.tst %-*.txt +// @diff@ %-*.tst %-*.txt + +#include <istream> +#include <sstream> +#include <fstream> +#include <testsuite_hooks.h> + +// fstreams +void test04(void) +{ + typedef std::wistream::off_type off_type; + + bool test __attribute__((unused)) = true; + std::wistream::pos_type pos01, pos02, pos03, pos04, pos05, pos06; + std::ios_base::iostate state01, state02; + const char str_lit01[] = "wistream_seeks-1.txt"; + const char str_lit02[] = "wistream_seeks-2.txt"; + std::wifstream if01(str_lit01, std::ios_base::in | std::ios_base::out); + std::wifstream if02(str_lit01, std::ios_base::in); + std::wifstream if03(str_lit02, std::ios_base::out | std::ios_base::trunc); + VERIFY( if01.good() ); + VERIFY( if02.good() ); + VERIFY( if03.good() ); + + std::wistream is01(if01.rdbuf()); + std::wistream is02(if02.rdbuf()); + std::wistream is03(if03.rdbuf()); + + pos01 = is01.tellg(); + pos02 = is01.tellg(); + pos03 = is02.tellg(); + pos04 = is02.tellg(); + pos05 = is03.tellg(); + pos06 = is03.tellg(); + + // istream& seekg(pos_type) + // istream& seekg(off_type, ios_base::seekdir) + + // cur + // NB: see library issues list 136. It's the v3 interp that seekg + // only sets the input buffer, or else istreams with buffers that + // have _M_mode == ios_base::out will fail to have consistency + // between seekg and tellg. + state01 = is01.rdstate(); + is01.seekg(10, std::ios_base::cur); + state02 = is01.rdstate(); + pos01 = is01.tellg(); + VERIFY( pos01 == pos02 + off_type(10) ); + VERIFY( state01 == state02 ); + pos02 = is01.tellg(); + VERIFY( pos02 == pos01 ); + + state01 = is02.rdstate(); + is02.seekg(10, std::ios_base::cur); + state02 = is02.rdstate(); + pos03 = is02.tellg(); + VERIFY( pos03 == pos04 + off_type(10) ); + VERIFY( state01 == state02 ); + pos04 = is02.tellg(); + VERIFY( pos03 == pos04 ); + + state01 = is03.rdstate(); + is03.seekg(10, std::ios_base::cur); + state02 = is03.rdstate(); + pos05 = is03.tellg(); + VERIFY( pos05 == pos06 + off_type(10) ); + VERIFY( state01 == state02 ); + pos06 = is03.tellg(); + VERIFY( pos05 == pos06 ); + + // beg + state01 = is01.rdstate(); + is01.seekg(20, std::ios_base::beg); + state02 = is01.rdstate(); + pos01 = is01.tellg(); + VERIFY( pos01 == pos02 + off_type(10) ); + VERIFY( state01 == state02 ); + pos02 = is01.tellg(); + VERIFY( pos02 == pos01 ); + + state01 = is02.rdstate(); + is02.seekg(20, std::ios_base::beg); + state02 = is02.rdstate(); + pos03 = is02.tellg(); + VERIFY( pos03 == pos04 + off_type(10) ); + VERIFY( state01 == state02 ); + pos04 = is02.tellg(); + VERIFY( pos03 == pos04 ); + + state01 = is03.rdstate(); + is03.seekg(20, std::ios_base::beg); + state02 = is03.rdstate(); + pos05 = is03.tellg(); + VERIFY( pos05 == pos06 + off_type(10) ); + VERIFY( state01 == state02 ); + pos06 = is03.tellg(); + VERIFY( pos05 == pos06 ); +} + +int main() +{ + test04(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc new file mode 100644 index 0000000..65f7a59 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc @@ -0,0 +1,135 @@ +// 2000-06-29 bkoz + +// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions +// NB: ostream has a particular "seeks" category. Adopt this for istreams too. +// @require@ %-*.tst %-*.txt +// @diff@ %-*.tst %-*.txt + +#include <istream> +#include <sstream> +#include <fstream> +#include <testsuite_hooks.h> + +// stringstreams +void test05(void) +{ + typedef std::istream::off_type off_type; + + bool test __attribute__((unused)) = true; + std::wistream::pos_type pos01, pos02, pos03, pos04, pos05, pos06; + std::ios_base::iostate state01, state02; + const char str_lit01[] = "wistream_seeks-1.tst"; + std::wifstream if01(str_lit01); + std::wifstream if02(str_lit01); + std::wifstream if03(str_lit01); + VERIFY( if01.good() ); + VERIFY( if02.good() ); + VERIFY( if03.good() ); + + std::wstringbuf strbuf01(std::ios_base::in | std::ios_base::out); + if01 >> &strbuf01; + // initialize stringbufs that are ios_base::out + std::wstringbuf strbuf03(strbuf01.str(), std::ios_base::out); + // initialize stringbufs that are ios_base::in + std::wstringbuf strbuf02(strbuf01.str(), std::ios_base::in); + + std::wistream is01(&strbuf01); + std::wistream is02(&strbuf02); + std::wistream is03(&strbuf03); + + // pos_type tellg() + // in | out + pos01 = is01.tellg(); + pos02 = is01.tellg(); + pos03 = is02.tellg(); + pos04 = is02.tellg(); + pos05 = is03.tellg(); + pos06 = is03.tellg(); + + // istream& seekg(pos_type) + // istream& seekg(off_type, ios_base::seekdir) + + // cur + // NB: see library issues list 136. It's the v-3 interp that seekg + // only sets the input buffer, or else istreams with buffers that + // have _M_mode == ios_base::out will fail to have consistency + // between seekg and tellg. + state01 = is01.rdstate(); + is01.seekg(10, std::ios_base::cur); + state02 = is01.rdstate(); + pos01 = is01.tellg(); + VERIFY( pos01 == pos02 + off_type(10) ); + VERIFY( state01 == state02 ); + pos02 = is01.tellg(); + VERIFY( pos02 == pos01 ); + + state01 = is02.rdstate(); + is02.seekg(10, std::ios_base::cur); + state02 = is02.rdstate(); + pos03 = is02.tellg(); + VERIFY( pos03 == pos04 + off_type(10) ); + VERIFY( state01 == state02 ); + pos04 = is02.tellg(); + VERIFY( pos03 == pos04 ); + + state01 = is03.rdstate(); + is03.seekg(10, std::ios_base::cur); + state02 = is03.rdstate(); + pos05 = is03.tellg(); + VERIFY( pos05 == pos06 ); // as only out buffer + VERIFY( state01 != state02 ); + pos06 = is03.tellg(); + VERIFY( pos05 == pos06 ); + + // beg + state01 = is01.rdstate(); + is01.seekg(20, std::ios_base::beg); + state02 = is01.rdstate(); + pos01 = is01.tellg(); + VERIFY( pos01 == pos02 + off_type(10) ); + VERIFY( state01 == state02 ); + pos02 = is01.tellg(); + VERIFY( pos02 == pos01 ); + + state01 = is02.rdstate(); + is02.seekg(20, std::ios_base::beg); + state02 = is02.rdstate(); + pos03 = is02.tellg(); + VERIFY( pos03 == pos04 + off_type(10) ); + VERIFY( state01 == state02 ); + pos04 = is02.tellg(); + VERIFY( pos03 == pos04 ); + + state01 = is03.rdstate(); + is03.seekg(20, std::ios_base::beg); + state02 = is03.rdstate(); + pos05 = is03.tellg(); + VERIFY( pos05 == pos06 ); // as only out buffer + VERIFY( state01 == state02 ); + pos06 = is03.tellg(); + VERIFY( pos05 == pos06 ); +} + +int main() +{ + test05(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/1.cc new file mode 100644 index 0000000..b228257 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/1.cc @@ -0,0 +1,64 @@ +// Copyright (C) 2004 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +// 27.6.1.1.2 class basic_istream::sentry + +#include <istream> +#include <sstream> +#include <testsuite_hooks.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + const wchar_t* lit01 = L"stereolab on the bolsinga tip"; + const std::wstring str01(lit01); + + std::wstringbuf strbuf01; + std::wstringbuf strbuf02(str01); + std::wistream istr01(&strbuf01); + std::wistream istr02(&strbuf02); + + // test negatives + std::wistream::sentry sentry01(istr01); + VERIFY( bool(sentry01) == false ); + + std::wistream::sentry sentry02(istr01, true); + VERIFY( bool(sentry02) == false ); + + // positive tests + std::wistream::sentry sentry03(istr02); + VERIFY( bool(sentry03) == true ); + + std::wistream::sentry sentry04(istr02, true); + VERIFY( bool(sentry04) == true ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc new file mode 100644 index 0000000..c870f2b --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc @@ -0,0 +1,50 @@ +// Copyright (C) 2004 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +// 27.6.1.1.2 class basic_istream::sentry + +#include <sstream> +#include <testsuite_hooks.h> + +int main() +{ + using namespace std; + wistringstream stream; + stream.exceptions(ios_base::eofbit); + + try + { + wistream::sentry sentry(stream, false); + VERIFY( false ); + } + catch (ios_base::failure&) + { + VERIFY( stream.rdstate() == (ios_base::eofbit | ios_base::failbit) ); + } + + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/2.cc new file mode 100644 index 0000000..1c0ca9a --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/2.cc @@ -0,0 +1,58 @@ +// Copyright (C) 2004 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +// 27.6.1.1.2 class basic_istream::sentry + +#include <istream> +#include <sstream> +#include <testsuite_hooks.h> + +// libstdc++/944 +void +test02() +{ + using namespace std; + wistringstream in(L"80.21 56.89 12.3"); + bool test __attribute__((unused)) = true; + int i = 0; + double x; + + // ios_base::eof == 2 + while (in >> x) + { + ++i; + if (i > 3) + break; + } + VERIFY( i == 3 ); +} + +int main() +{ + test02(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/3.cc new file mode 100644 index 0000000..6844aa7 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/3.cc @@ -0,0 +1,51 @@ +// Copyright (C) 2004 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +// 27.6.1.1.2 class basic_istream::sentry + +#include <istream> +#include <sstream> +#include <testsuite_hooks.h> + +// libstdc++/9562 +void +test03() +{ + bool test __attribute__((unused)) = true; + + std::wstringbuf strbuf01; + std::wistream strm1(&strbuf01); + const std::wistream::sentry sentry1(strm1); + + VERIFY( bool(sentry1) == false ); +} + +int main() +{ + test03(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc new file mode 100644 index 0000000..faa4424 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc @@ -0,0 +1,65 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions +// NB: ostream has a particular "seeks" category. Adopt this for istreams too. +// @require@ %-*.tst %-*.txt +// @diff@ %-*.tst %-*.txt + +#include <istream> +#include <sstream> +#include <fstream> +#include <testsuite_hooks.h> + +void test01() +{ + using namespace std; + typedef ios::off_type off_type; + typedef ios::pos_type pos_type; + + bool test __attribute__((unused)) = true; + const char str_lit01[] = "wistream_seeks-1.tst"; + + // in + wistringstream ist1; + pos_type p3 = ist1.tellg(); + + wifstream ifs1; + pos_type p4 = ifs1.tellg(); + + // N.B. We implement the resolution of DR 453 and + // istringstream::tellg() doesn't fail. + VERIFY( p3 == pos_type(off_type(0)) ); + VERIFY( p4 == pos_type(off_type(-1)) ); + + // in + // test ctors leave things in the same positions... + wistringstream ist2(L"bob_marley:kaya"); + p3 = ist2.tellg(); + + wifstream ifs2(str_lit01); + p4 = ifs2.tellg(); + + VERIFY( p3 == p4 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/2.cc new file mode 100644 index 0000000..2306b81 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/2.cc @@ -0,0 +1,43 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions +// DR 60 -- tellg does not effect calls to gcount + +#include <istream> +#include <sstream> +#include <testsuite_hooks.h> + +void test01() +{ + using namespace std; + bool test __attribute__((unused)) = true; + + wistringstream ist(L"three sides live"); + ist.ignore(4); + int count1 = ist.gcount(); + ist.tellg(); + int count2 = ist.gcount(); + VERIFY( count1 == count2 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc new file mode 100644 index 0000000..8dd6370 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc @@ -0,0 +1,74 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions +// NB: ostream has a particular "seeks" category. Adopt this for istreams too. + +#include <istream> +#include <sstream> +#include <testsuite_hooks.h> + +// libstdc++/8348 +void test06(void) +{ + using namespace std; + bool test __attribute__((unused)) = true; + wstring num1(L"555"); + + // tellg + { + wistringstream iss(num1); + wistream::pos_type pos1 = iss.tellg(); + int asNum = 0; + iss >> asNum; + VERIFY( test = iss.eof() ); + VERIFY( test = !iss.fail() ); + iss.tellg(); + VERIFY( test = !iss.fail() ); + } + + // seekg + { + wistringstream iss(num1); + wistream::pos_type pos1 = iss.tellg(); + int asNum = 0; + iss >> asNum; + VERIFY( test = iss.eof() ); + VERIFY( test = !iss.fail() ); + iss.seekg(0, ios_base::beg); + VERIFY( test = !iss.fail() ); + } + + // seekg + { + wistringstream iss(num1); + wistream::pos_type pos1 = iss.tellg(); + int asNum = 0; + iss >> asNum; + VERIFY( test = iss.eof() ); + VERIFY( test = !iss.fail() ); + iss.seekg(pos1); + VERIFY( test = !iss.fail() ); + } +} + +int main() +{ + test06(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/exceptions_badbit_throw.cc new file mode 100644 index 0000000..aab0162 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/exceptions_badbit_throw.cc @@ -0,0 +1,66 @@ +// Copyright (C) 2004 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +#include <istream> +#include <streambuf> +#include <sstream> +#include <testsuite_hooks.h> +#include <testsuite_io.h> + +using namespace std; + +void test01() +{ + bool test __attribute__((unused)) = true; + __gnu_test::fail_wstreambuf bib; + wistream stream(&bib); + stream.exceptions(ios_base::badbit); + + try + { + stream.tellg(); + VERIFY( false ); + } + catch (const __gnu_test::positioning_error&) + { + // stream should set badbit and rethrow facet_error. + VERIFY( stream.bad() ); + VERIFY( (stream.rdstate() & ios_base::failbit) == 0 ); + VERIFY( !stream.eof() ); + } + catch (...) + { + VERIFY(false); + } +} + +// libstdc++/9546 +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc new file mode 100644 index 0000000..d4fe1ee --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc @@ -0,0 +1,85 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions +// NB: ostream has a particular "seeks" category. Adopt this for istreams too. +// @require@ %-*.tst %-*.txt +// @diff@ %-*.tst %-*.txt + +#include <istream> +#include <sstream> +#include <fstream> +#include <testsuite_hooks.h> + +// fstreams +void test04(void) +{ + typedef std::wistream::off_type off_type; + + bool test __attribute__((unused)) = true; + std::wistream::pos_type pos01, pos02, pos03, pos04, pos05, pos06; + std::ios_base::iostate state01, state02; + const char str_lit01[] = "wistream_seeks-1.txt"; + const char str_lit02[] = "wistream_seeks-2.txt"; + std::wifstream if01(str_lit01, std::ios_base::in | std::ios_base::out); + std::wifstream if02(str_lit01, std::ios_base::in); + std::wifstream if03(str_lit02, std::ios_base::out | std::ios_base::trunc); + VERIFY( if01.good() ); + VERIFY( if02.good() ); + VERIFY( if03.good() ); + + std::wistream is01(if01.rdbuf()); + std::wistream is02(if02.rdbuf()); + std::wistream is03(if03.rdbuf()); + + // pos_type tellg() + // in | out + pos01 = is01.tellg(); + pos02 = is01.tellg(); + VERIFY( pos01 == pos02 ); + + // in + pos03 = is02.tellg(); + pos04 = is02.tellg(); + VERIFY( pos03 == pos04 ); + + // out + pos05 = is03.tellg(); + pos06 = is03.tellg(); + VERIFY( pos05 == pos06 ); + + // cur + // NB: see library issues list 136. It's the v-3 interp that seekg + // only sets the input buffer, or else istreams with buffers that + // have _M_mode == ios_base::out will fail to have consistency + // between seekg and tellg. + state01 = is01.rdstate(); + is01.seekg(10, std::ios_base::cur); + state02 = is01.rdstate(); + pos01 = is01.tellg(); + VERIFY( pos01 == pos02 + off_type(10) ); + VERIFY( state01 == state02 ); + pos02 = is01.tellg(); + VERIFY( pos02 == pos01 ); +} + +int main() +{ + test04(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc new file mode 100644 index 0000000..1252b2a --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc @@ -0,0 +1,91 @@ +// Copyright (C) 2004 Free Software Foundation +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.3 unformatted input functions +// NB: ostream has a particular "seeks" category. Adopt this for istreams too. +// @require@ %-*.tst %-*.txt +// @diff@ %-*.tst %-*.txt + +#include <istream> +#include <sstream> +#include <fstream> +#include <testsuite_hooks.h> + +// stringstreams +void test05(void) +{ + typedef std::wistream::off_type off_type; + + bool test __attribute__((unused)) = true; + std::wistream::pos_type pos01, pos02, pos03, pos04, pos05, pos06; + std::ios_base::iostate state01, state02; + const char str_lit01[] = "wistream_seeks-1.tst"; + std::wifstream if01(str_lit01); + std::wifstream if02(str_lit01); + std::wifstream if03(str_lit01); + VERIFY( if01.good() ); + VERIFY( if02.good() ); + VERIFY( if03.good() ); + + std::wstringbuf strbuf01(std::ios_base::in | std::ios_base::out); + if01 >> &strbuf01; + // initialize stringbufs that are ios_base::out + std::wstringbuf strbuf03(strbuf01.str(), std::ios_base::out); + // initialize stringbufs that are ios_base::in + std::wstringbuf strbuf02(strbuf01.str(), std::ios_base::in); + + std::wistream is01(&strbuf01); + std::wistream is02(&strbuf02); + std::wistream is03(&strbuf03); + + // pos_type tellg() + // in | out + pos01 = is01.tellg(); + pos02 = is01.tellg(); + VERIFY( pos01 == pos02 ); + + // in + pos03 = is02.tellg(); + pos04 = is02.tellg(); + VERIFY( pos03 == pos04 ); + + // out + pos05 = is03.tellg(); + pos06 = is03.tellg(); + VERIFY( pos05 == pos06 ); + + // cur + // NB: see library issues list 136. It's the v-3 interp that seekg + // only sets the input buffer, or else istreams with buffers that + // have _M_mode == ios_base::out will fail to have consistency + // between seekg and tellg. + state01 = is01.rdstate(); + is01.seekg(10, std::ios_base::cur); + state02 = is01.rdstate(); + pos01 = is01.tellg(); + VERIFY( pos01 == pos02 + off_type(10) ); + VERIFY( state01 == state02 ); + pos02 = is01.tellg(); + VERIFY( pos02 == pos01 ); +} + +int main() +{ + test05(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc new file mode 100644 index 0000000..1844360 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc @@ -0,0 +1,79 @@ +// Copyright (C) 2004 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 27.6.1.4 standard basic_istream manipulators + +#include <istream> +#include <sstream> +#include <stdexcept> +#include <testsuite_hooks.h> + +void test01(void) +{ + bool test __attribute__((unused)) = true; + + const wchar_t str_lit01[] = L" venice "; + const std::wstring str01(L" santa barbara "); + std::wstring str02(str_lit01); + std::wstring str04; + std::wstring str05; + std::ios_base::iostate flag3, flag4, flag5; + + // template<_CharT, _Traits> + // basic_istream<_CharT, _Traits>& ws(basic_istream<_Char, _Traits>& is) + std::wistringstream iss01(str01); + std::wistringstream iss02(str01); + + iss01 >> str04; + VERIFY( str04.size() != str01.size() ); + VERIFY( str04 == L"santa" ); + + iss02 >> std::ws; + iss02 >> str05; + VERIFY( str05.size() != str01.size() ); + VERIFY( str05 == L"santa" ); + VERIFY( str05 == str04 ); + + iss01 >> str04; + VERIFY( str04.size() != str01.size() ); + VERIFY( str04 == L"barbara" ); + + iss02 >> std::ws; + iss02 >> str05; + VERIFY( str05.size() != str01.size() ); + VERIFY( str05 == L"barbara" ); + VERIFY( str05 == str04 ); + + flag3 = std::ios_base::eofbit; + flag4 = std::ios_base::badbit; + flag5 = std::ios_base::failbit; + VERIFY( !iss01.fail() ); + VERIFY( !iss02.fail() ); + VERIFY( !iss01.eof() ); + VERIFY( !iss02.eof() ); + + iss01 >> std::ws; + VERIFY( !iss01.fail() ); + VERIFY( iss01.eof() ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/data/wistream_extractor_other-1.tst b/libstdc++-v3/testsuite/data/wistream_extractor_other-1.tst new file mode 100644 index 0000000..717a04c --- /dev/null +++ b/libstdc++-v3/testsuite/data/wistream_extractor_other-1.tst @@ -0,0 +1,65 @@ +// 990811 bkoz + +// Copyright (C) 1999 Cygnus Solutions +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Repatriation +/mnt/cdrom/yabbyyou_jesusdread/disk_2/Vivian Jackson and the Prop +/mnt/cdrom/yabbyyou_jesusdread/disk_2/Michael Rose - Born Free (d +/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Love Thy Nei +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Vivian Jackson and the Defe +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Vivian Jackson and the Ralp +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Tommy McCook and Don D. Jnr +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Big Youth and Vivian Jackso +/mnt/cdrom/yabbyyou_jesusdread/disk_1/King Tubby's - Big Youth Fi +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Upsetter Mix - Rally Dub +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Dicky Burton - God Is Watch +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Pablo and Vivian Jackson - +/mnt/cdrom/yabbyyou_jesusdread/disk_1/King Tubby's - Rock King Tu +/mnt/cdrom/TORTOISE_millions_now_living/tortoise_5 +/mnt/cdrom/TORTOISE_millions_now_living/tortoise_6 +/mnt/cdrom/bettycarter_i'myours,you'remine/This time +/mnt/cdrom/bettycarter_i'myours,you'remine/I'm Yours, You're Mine +/mnt/cdrom/bettycarter_i'myours,you'remine/Lonely House +/mnt/cdrom/bettycarter_i'myours,you'remine/Close Your Eyes +/mnt/cdrom/bettycarter_i'myours,you'remine/Useless Landscape +/mnt/cdrom/bettycarter_i'myours,you'remine/East of the Sun +/mnt/cdrom/bettycarter_i'myours,you'remine/September Song +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Naima's Love Song +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Stay As Sweet As You Are +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Make Him Believe +/mnt/cdrom/bettycarter_it'snotaboutthemelo/I Should Care +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Once Upon a Summertime +/mnt/cdrom/bettycarter_it'snotaboutthemelo/You Go To My Head +/mnt/cdrom/bettycarter_it'snotaboutthemelo/In the Still Of the Night +/mnt/cdrom/bettycarter_it'snotaboutthemelo/When It's Sleepy Time Down +/mnt/cdrom/bettycarter_it'snotaboutthemelo/The Love We Had Yesterday +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Dip Bag +/mnt/cdrom/bettycarter_it'snotaboutthemelo/You're Mine, Too +/mnt/cdrom/c_adderly_somethin'_else/Autumn Leaves +/mnt/cdrom/c_adderly_somethin'_else/Love For Sale +/mnt/cdrom/c_adderly_somethin'_else/Somethin' Else +/mnt/cdrom/c_adderly_somethin'_else/One For Daddy-O + + + + + + + + diff --git a/libstdc++-v3/testsuite/data/wistream_extractor_other-1.txt b/libstdc++-v3/testsuite/data/wistream_extractor_other-1.txt new file mode 100644 index 0000000..717a04c --- /dev/null +++ b/libstdc++-v3/testsuite/data/wistream_extractor_other-1.txt @@ -0,0 +1,65 @@ +// 990811 bkoz + +// Copyright (C) 1999 Cygnus Solutions +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Repatriation +/mnt/cdrom/yabbyyou_jesusdread/disk_2/Vivian Jackson and the Prop +/mnt/cdrom/yabbyyou_jesusdread/disk_2/Michael Rose - Born Free (d +/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Love Thy Nei +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Vivian Jackson and the Defe +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Vivian Jackson and the Ralp +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Tommy McCook and Don D. Jnr +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Big Youth and Vivian Jackso +/mnt/cdrom/yabbyyou_jesusdread/disk_1/King Tubby's - Big Youth Fi +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Upsetter Mix - Rally Dub +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Dicky Burton - God Is Watch +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Pablo and Vivian Jackson - +/mnt/cdrom/yabbyyou_jesusdread/disk_1/King Tubby's - Rock King Tu +/mnt/cdrom/TORTOISE_millions_now_living/tortoise_5 +/mnt/cdrom/TORTOISE_millions_now_living/tortoise_6 +/mnt/cdrom/bettycarter_i'myours,you'remine/This time +/mnt/cdrom/bettycarter_i'myours,you'remine/I'm Yours, You're Mine +/mnt/cdrom/bettycarter_i'myours,you'remine/Lonely House +/mnt/cdrom/bettycarter_i'myours,you'remine/Close Your Eyes +/mnt/cdrom/bettycarter_i'myours,you'remine/Useless Landscape +/mnt/cdrom/bettycarter_i'myours,you'remine/East of the Sun +/mnt/cdrom/bettycarter_i'myours,you'remine/September Song +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Naima's Love Song +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Stay As Sweet As You Are +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Make Him Believe +/mnt/cdrom/bettycarter_it'snotaboutthemelo/I Should Care +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Once Upon a Summertime +/mnt/cdrom/bettycarter_it'snotaboutthemelo/You Go To My Head +/mnt/cdrom/bettycarter_it'snotaboutthemelo/In the Still Of the Night +/mnt/cdrom/bettycarter_it'snotaboutthemelo/When It's Sleepy Time Down +/mnt/cdrom/bettycarter_it'snotaboutthemelo/The Love We Had Yesterday +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Dip Bag +/mnt/cdrom/bettycarter_it'snotaboutthemelo/You're Mine, Too +/mnt/cdrom/c_adderly_somethin'_else/Autumn Leaves +/mnt/cdrom/c_adderly_somethin'_else/Love For Sale +/mnt/cdrom/c_adderly_somethin'_else/Somethin' Else +/mnt/cdrom/c_adderly_somethin'_else/One For Daddy-O + + + + + + + + diff --git a/libstdc++-v3/testsuite/data/wistream_extractor_other-2.tst b/libstdc++-v3/testsuite/data/wistream_extractor_other-2.tst new file mode 100644 index 0000000..717a04c --- /dev/null +++ b/libstdc++-v3/testsuite/data/wistream_extractor_other-2.tst @@ -0,0 +1,65 @@ +// 990811 bkoz + +// Copyright (C) 1999 Cygnus Solutions +// +// 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 2, 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 COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Repatriation +/mnt/cdrom/yabbyyou_jesusdread/disk_2/Vivian Jackson and the Prop +/mnt/cdrom/yabbyyou_jesusdread/disk_2/Michael Rose - Born Free (d +/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Love Thy Nei +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Vivian Jackson and the Defe +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Vivian Jackson and the Ralp +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Tommy McCook and Don D. Jnr +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Big Youth and Vivian Jackso +/mnt/cdrom/yabbyyou_jesusdread/disk_1/King Tubby's - Big Youth Fi +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Upsetter Mix - Rally Dub +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Dicky Burton - God Is Watch +/mnt/cdrom/yabbyyou_jesusdread/disk_1/Pablo and Vivian Jackson - +/mnt/cdrom/yabbyyou_jesusdread/disk_1/King Tubby's - Rock King Tu +/mnt/cdrom/TORTOISE_millions_now_living/tortoise_5 +/mnt/cdrom/TORTOISE_millions_now_living/tortoise_6 +/mnt/cdrom/bettycarter_i'myours,you'remine/This time +/mnt/cdrom/bettycarter_i'myours,you'remine/I'm Yours, You're Mine +/mnt/cdrom/bettycarter_i'myours,you'remine/Lonely House +/mnt/cdrom/bettycarter_i'myours,you'remine/Close Your Eyes +/mnt/cdrom/bettycarter_i'myours,you'remine/Useless Landscape +/mnt/cdrom/bettycarter_i'myours,you'remine/East of the Sun +/mnt/cdrom/bettycarter_i'myours,you'remine/September Song +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Naima's Love Song +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Stay As Sweet As You Are +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Make Him Believe +/mnt/cdrom/bettycarter_it'snotaboutthemelo/I Should Care +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Once Upon a Summertime +/mnt/cdrom/bettycarter_it'snotaboutthemelo/You Go To My Head +/mnt/cdrom/bettycarter_it'snotaboutthemelo/In the Still Of the Night +/mnt/cdrom/bettycarter_it'snotaboutthemelo/When It's Sleepy Time Down +/mnt/cdrom/bettycarter_it'snotaboutthemelo/The Love We Had Yesterday +/mnt/cdrom/bettycarter_it'snotaboutthemelo/Dip Bag +/mnt/cdrom/bettycarter_it'snotaboutthemelo/You're Mine, Too +/mnt/cdrom/c_adderly_somethin'_else/Autumn Leaves +/mnt/cdrom/c_adderly_somethin'_else/Love For Sale +/mnt/cdrom/c_adderly_somethin'_else/Somethin' Else +/mnt/cdrom/c_adderly_somethin'_else/One For Daddy-O + + + + + + + + diff --git a/libstdc++-v3/testsuite/data/wistream_seeks-1.tst b/libstdc++-v3/testsuite/data/wistream_seeks-1.tst new file mode 100644 index 0000000..5d9eafa --- /dev/null +++ b/libstdc++-v3/testsuite/data/wistream_seeks-1.tst @@ -0,0 +1,7 @@ +bd2 +456x +9mzuv>?@ABCDEFGHIJKLMNOPQRSTUVWXYZracadabras, i wannaz +because because +because. . +of the wonderful things he does!! +ok
\ No newline at end of file diff --git a/libstdc++-v3/testsuite/data/wistream_seeks-1.txt b/libstdc++-v3/testsuite/data/wistream_seeks-1.txt new file mode 100644 index 0000000..5d9eafa --- /dev/null +++ b/libstdc++-v3/testsuite/data/wistream_seeks-1.txt @@ -0,0 +1,7 @@ +bd2 +456x +9mzuv>?@ABCDEFGHIJKLMNOPQRSTUVWXYZracadabras, i wannaz +because because +because. . +of the wonderful things he does!! +ok
\ No newline at end of file diff --git a/libstdc++-v3/testsuite/data/wistream_seeks-2.tst b/libstdc++-v3/testsuite/data/wistream_seeks-2.tst new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/libstdc++-v3/testsuite/data/wistream_seeks-2.tst diff --git a/libstdc++-v3/testsuite/data/wistream_unformatted-1.tst b/libstdc++-v3/testsuite/data/wistream_unformatted-1.tst new file mode 100644 index 0000000..9b770a5 --- /dev/null +++ b/libstdc++-v3/testsuite/data/wistream_unformatted-1.tst @@ -0,0 +1,1500 @@ +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 diff --git a/libstdc++-v3/testsuite/data/wistream_unformatted-1.txt b/libstdc++-v3/testsuite/data/wistream_unformatted-1.txt new file mode 100644 index 0000000..9b770a5 --- /dev/null +++ b/libstdc++-v3/testsuite/data/wistream_unformatted-1.txt @@ -0,0 +1,1500 @@ +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 +1234567890 |