OSDN Git Service

2004-12-20 Paolo Carlini <pcarlini@suse.de>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Dec 2004 11:26:24 +0000 (11:26 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Dec 2004 11:26:24 +0000 (11:26 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92414 138bc75d-0d04-0410-961f-82ee72b054a4

41 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc
libstdc++-v3/testsuite/27_io/basic_istream/peek/char/6414.cc
libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/12296.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/6414.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/putback/char/1.cc
libstdc++-v3/testsuite/27_io/basic_istream/putback/wchar_t/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc
libstdc++-v3/testsuite/27_io/basic_istream/read/char/2.cc
libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/3.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/exceptions_badbit_throw.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/3.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/exceptions_badbit_throw.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/data/wistream_extractor_other-1.tst [new file with mode: 0644]
libstdc++-v3/testsuite/data/wistream_extractor_other-1.txt [new file with mode: 0644]
libstdc++-v3/testsuite/data/wistream_extractor_other-2.tst [new file with mode: 0644]
libstdc++-v3/testsuite/data/wistream_seeks-1.tst [new file with mode: 0644]
libstdc++-v3/testsuite/data/wistream_seeks-1.txt [new file with mode: 0644]
libstdc++-v3/testsuite/data/wistream_seeks-2.tst [new file with mode: 0644]
libstdc++-v3/testsuite/data/wistream_unformatted-1.tst [new file with mode: 0644]
libstdc++-v3/testsuite/data/wistream_unformatted-1.txt [new file with mode: 0644]

index c7f9b11..fecd625 100644 (file)
@@ -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.
index 4bdbe50..f942b26 100644 (file)
@@ -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;
index 98a99e7..4f1d371 100644 (file)
@@ -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 (file)
index 0000000..93251c1
--- /dev/null
@@ -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 (file)
index 0000000..43f4b17
--- /dev/null
@@ -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 (file)
index 0000000..938453a
--- /dev/null
@@ -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;
+}
index b3c64f6..b2c9efb 100644 (file)
@@ -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 (file)
index 0000000..6000b97
--- /dev/null
@@ -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;
+}
index 70f14b9..81081b4 100644 (file)
@@ -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
 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);
index 7eeb212..5214e03 100644 (file)
@@ -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 (file)
index 0000000..dd24afa
--- /dev/null
@@ -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 (file)
index 0000000..977979d
--- /dev/null
@@ -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 (file)
index 0000000..6910f36
--- /dev/null
@@ -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 (file)
index 0000000..35fe6d0
--- /dev/null
@@ -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 (file)
index 0000000..30e2a3a
--- /dev/null
@@ -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 (file)
index 0000000..5b9a2bb
--- /dev/null
@@ -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 (file)
index 0000000..b40145c
--- /dev/null
@@ -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 (file)
index 0000000..98e2697
--- /dev/null
@@ -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 (file)
index 0000000..4d15c1e
--- /dev/null
@@ -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 (file)
index 0000000..5aa5c81
--- /dev/null
@@ -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 (file)
index 0000000..71ad946
--- /dev/null
@@ -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 (file)
index 0000000..65f7a59
--- /dev/null
@@ -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 (file)
index 0000000..b228257
--- /dev/null
@@ -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 (file)
index 0000000..c870f2b
--- /dev/null
@@ -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 (file)
index 0000000..1c0ca9a
--- /dev/null
@@ -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 (file)
index 0000000..6844aa7
--- /dev/null
@@ -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 (file)
index 0000000..faa4424
--- /dev/null
@@ -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 (file)
index 0000000..2306b81
--- /dev/null
@@ -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 (file)
index 0000000..8dd6370
--- /dev/null
@@ -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 (file)
index 0000000..aab0162
--- /dev/null
@@ -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 (file)
index 0000000..d4fe1ee
--- /dev/null
@@ -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 (file)
index 0000000..1252b2a
--- /dev/null
@@ -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 (file)
index 0000000..1844360
--- /dev/null
@@ -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 (file)
index 0000000..717a04c
--- /dev/null
@@ -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 (file)
index 0000000..717a04c
--- /dev/null
@@ -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 (file)
index 0000000..717a04c
--- /dev/null
@@ -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 (file)
index 0000000..5d9eafa
--- /dev/null
@@ -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 (file)
index 0000000..5d9eafa
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
diff --git a/libstdc++-v3/testsuite/data/wistream_unformatted-1.tst b/libstdc++-v3/testsuite/data/wistream_unformatted-1.tst
new file mode 100644 (file)
index 0000000..9b770a5
--- /dev/null
@@ -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 (file)
index 0000000..9b770a5
--- /dev/null
@@ -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