aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/27_io/basic_ostream/sentry
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2005-01-23 23:35:20 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2005-01-23 23:35:20 +0000
commitba4b172f0f602323bfde1043e1634f7d2f0f96d4 (patch)
treebe6c98097023463dca2dc72c14b483994349d764 /libstdc++-v3/testsuite/27_io/basic_ostream/sentry
parent69029c61aa94cec4fb273dcfc7693f754d9b4452 (diff)
downloadgcc-ba4b172f0f602323bfde1043e1634f7d2f0f96d4.zip
gcc-ba4b172f0f602323bfde1043e1634f7d2f0f96d4.tar.gz
gcc-ba4b172f0f602323bfde1043e1634f7d2f0f96d4.tar.bz2
9827.cc: New.
2005-01-23 Paolo Carlini <pcarlini@suse.de> * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: New. * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise. * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/flush/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/4402.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/6.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/9555-oa.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/exceptions_failbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/6.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/9555-oc.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/9318-out.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/9424-out.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/9555-oo.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ error_failbit.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ exceptions_failbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/wchar_t/ 2346-fstream.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/wchar_t/ 2346-sstream.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/tellp/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise. * testsuite/data/wostream_inserter_char-1.tst: Likewise. * testsuite/data/wostream_inserter_char-1.txt: Likewise. * testsuite/data/wostream_inserter_other-1.tst: Likewise. * testsuite/data/wostream_inserter_other-2.tst: Likewise. * testsuite/data/wostream_seeks-1.tst: Likewise. * testsuite/27_io/basic_ostream/endl/char/1.cc: Minor tweaks. * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise. * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise. * testsuite/27_io/basic_ostream/flush/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ char/2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ char/3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ char/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ char/4402.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ char/5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ char/6.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ char/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ 2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ 5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ error_failbit.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ exceptions_failbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise. * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise. From-SVN: r94129
Diffstat (limited to 'libstdc++-v3/testsuite/27_io/basic_ostream/sentry')
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/2.cc10
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc51
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc71
3 files changed, 128 insertions, 4 deletions
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/2.cc
index 72ba932..7e75a15 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/2.cc
@@ -1,6 +1,6 @@
// 2003-02-06 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2005 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
@@ -34,13 +34,15 @@
#include <testsuite_hooks.h>
// libstdc++/9563
-struct buf: std::streambuf
+struct buf : std::streambuf
{
std::ios *io_;
- buf (std::ios *io): io_ (io) { }
+ buf(std::ios *io)
+ : io_(io) { }
- virtual int sync ()
+ virtual int
+ sync()
{
io_->setstate (std::ios::failbit);
return 0;
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc
new file mode 100644
index 0000000..f56648d
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc
@@ -0,0 +1,51 @@
+// Copyright (C) 2005 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.2.3 class basic_ostream::sentry
+
+#include <ostream>
+#include <sstream>
+#include <testsuite_hooks.h>
+
+// libstdc++/9562
+void
+test01()
+{
+ bool test __attribute__((unused)) = true;
+
+ std::wstringbuf strbuf01;
+ std::wostream strm1(&strbuf01);
+ const std::wostream::sentry sentry1(strm1);
+
+ VERIFY( bool(sentry1) == true );
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc
new file mode 100644
index 0000000..35146a0
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc
@@ -0,0 +1,71 @@
+// Copyright (C) 2005 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.2.3 class basic_ostream::sentry
+
+#include <ostream>
+#include <sstream>
+#include <testsuite_hooks.h>
+
+// libstdc++/9563
+struct buf : std::wstreambuf
+{
+ std::wios *io_;
+
+ buf(std::wios *io)
+ : io_(io) { }
+
+ virtual int
+ sync()
+ {
+ io_->setstate (std::wios::failbit);
+ return 0;
+ }
+};
+
+void
+test02()
+{
+ bool test __attribute__((unused)) = true;
+
+ buf b(0);
+ std::wostream strm(&b);
+
+ buf tb(&strm);
+ std::wostream tied(&tb);
+
+ strm.tie(&tied);
+ std::wostream::sentry s(strm);
+
+ VERIFY( !s );
+}
+
+int main()
+{
+ test02();
+ return 0;
+}