diff options
author | Paolo Carlini <pcarlini@suse.de> | 2005-01-23 23:35:20 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2005-01-23 23:35:20 +0000 |
commit | ba4b172f0f602323bfde1043e1634f7d2f0f96d4 (patch) | |
tree | be6c98097023463dca2dc72c14b483994349d764 /libstdc++-v3/testsuite/27_io/basic_ostream/sentry | |
parent | 69029c61aa94cec4fb273dcfc7693f754d9b4452 (diff) | |
download | gcc-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')
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; +} |