diff options
author | Benjamin Kosnik <bkoz@purist.soma.redhat.com> | 2000-06-23 22:21:47 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2000-06-23 22:21:47 +0000 |
commit | b16810bfe20098164e7023fb0e707f6f36977087 (patch) | |
tree | fa671ab2fdbd558324ceb55d22df2fa05581dcd5 | |
parent | 90db9131f1f0701299ce737565949a771ffff967 (diff) | |
download | gcc-b16810bfe20098164e7023fb0e707f6f36977087.zip gcc-b16810bfe20098164e7023fb0e707f6f36977087.tar.gz gcc-b16810bfe20098164e7023fb0e707f6f36977087.tar.bz2 |
std_fstream.h: Formatting tweaks.
2000-06-23 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* bits/std_fstream.h: Formatting tweaks.
* testsuite/27_io/ofstream_members.cc: New file.
* testsuite/27_io/ofstream_members-1.tst: New file.
* testsuite/27_io/ifstream_members.cc: New file.
* testsuite/27_io/ifstream_members-1.tst: New file.
From-SVN: r34671
-rw-r--r-- | libstdc++-v3/ChangeLog | 8 | ||||
-rw-r--r-- | libstdc++-v3/bits/std_fstream.h | 6 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/27_io/ifstream_members-1.tst | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/27_io/ifstream_members.cc | 60 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/27_io/ofstream_members-1.tst | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/27_io/ofstream_members.cc | 60 |
6 files changed, 131 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 19f3bc8..0c20b3d 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,4 +1,12 @@ 2000-06-23 Benjamin Kosnik <bkoz@purist.soma.redhat.com> + + * bits/std_fstream.h: Formatting tweaks. + * testsuite/27_io/ofstream_members.cc: New file. + * testsuite/27_io/ofstream_members-1.tst: New file. + * testsuite/27_io/ifstream_members.cc: New file. + * testsuite/27_io/ifstream_members-1.tst: New file. + +2000-06-23 Benjamin Kosnik <bkoz@purist.soma.redhat.com> Ulrich Drepper <drepper@cygnus.com> * acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Add -D_GNU_SOURCE, so diff --git a/libstdc++-v3/bits/std_fstream.h b/libstdc++-v3/bits/std_fstream.h index 3178c82..158623e 100644 --- a/libstdc++-v3/bits/std_fstream.h +++ b/libstdc++-v3/bits/std_fstream.h @@ -1,6 +1,6 @@ // File based streams -*- C++ -*- -// Copyright (C) 1997-1999 Free Software Foundation, Inc. +// Copyright (C) 1997-1999, 2000 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 @@ -291,14 +291,14 @@ namespace std { ios_base::openmode __mode = ios_base::out | ios_base::trunc) { if (!rdbuf()->open(__s, __mode | ios_base::out)) - this->setstate (ios_base::failbit); + this->setstate(ios_base::failbit); } void close(void) { if (!rdbuf()->close()) - setstate (ios_base::failbit); + setstate(ios_base::failbit); } }; diff --git a/libstdc++-v3/testsuite/27_io/ifstream_members-1.tst b/libstdc++-v3/testsuite/27_io/ifstream_members-1.tst new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/ifstream_members-1.tst diff --git a/libstdc++-v3/testsuite/27_io/ifstream_members.cc b/libstdc++-v3/testsuite/27_io/ifstream_members.cc new file mode 100644 index 0000000..9b4107a --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/ifstream_members.cc @@ -0,0 +1,60 @@ +// Copyright (C) 2000 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.8.1.7 ifstream member functions + +#include <istream> +#include <fstream> +#ifdef DEBUG_ASSERT + #include <assert.h> +#endif + +const char name_01[] = "testsuite/ifstream_members-1.tst"; +const char name_02[] = "testsuite/ifstream_members-1.txt"; + +// http://sourceware.cygnus.com/ml/libstdc++/2000-06/msg00136.html +bool test00() +{ + bool test = true; + std::ifstream ifs1; + ifs1.close(); + + // false as expected: + test &= !ifs1.is_open(); + // this is now true: + test &= !(ifs1); + + ifs1.open(name_01); + test &= ifs1.is_open(); + // fail bit still true + test &= !(ifs1); + test &= ifs1.rdstate() == std::ios_base::failbit; + + ifs1.close(); + +#ifdef DEBUG_ASSERT + assert(test); +#endif + + return test; +} + +int main() +{ + test00(); +} diff --git a/libstdc++-v3/testsuite/27_io/ofstream_members-1.tst b/libstdc++-v3/testsuite/27_io/ofstream_members-1.tst new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/ofstream_members-1.tst diff --git a/libstdc++-v3/testsuite/27_io/ofstream_members.cc b/libstdc++-v3/testsuite/27_io/ofstream_members.cc new file mode 100644 index 0000000..0b52519 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/ofstream_members.cc @@ -0,0 +1,60 @@ +// Copyright (C) 2000 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.8.1.10 ofstream member functions + +#include <ostream> +#include <fstream> +#ifdef DEBUG_ASSERT + #include <assert.h> +#endif + +const char name_01[] = "testsuite/ofstream_members-1.tst"; +const char name_02[] = "testsuite/ofstream_members-1.txt"; + +// http://sourceware.cygnus.com/ml/libstdc++/2000-06/msg00136.html +bool test00() +{ + bool test = true; + std::ofstream ofs1; + ofs1.close(); + + // false as expected: + test &= !ofs1.is_open(); + // this is now true: + test &= !(ofs1); + + ofs1.open(name_02); + test &= ofs1.is_open(); + // fail bit still true + test &= !(ofs1); + test &= ofs1.rdstate() == std::ios_base::failbit; + + ofs1.close(); + +#ifdef DEBUG_ASSERT + assert(test); +#endif + + return test; +} + +int main() +{ + test00(); +} |