[BUG] GCC 3.0.1 fstream problems
Josh Martin
Josh.Martin@abq.sc.philips.com
Fri Sep 7 10:24:00 GMT 2001
There seems to be a problem with the ifstream object that started with gcc 3.0.
If you open an ifstream, read in part of a file, close the stream, and then
re-open the stream for the same or a different file, the file position
(ifstream::tellg()) and the eof flag (ifstream::eof()) are correctly reset.
However, if, during the opening and reading in of the file, you encounter an
EOF, the file position and eof flag and not reset upon the close() and
subsequent open(). A call to ifstream::clear() in the stream is required to get
the stream to reset.
A simple test case is given with important information output via cout at
critical moments.
- Josh
The compile command line and output are as follows, and the preprocessed file
(test.ii) is attached.
---
g++ -v -save-temps -Wall -Wl,+vallcompatwarnings -otest test.cpp
Reading specs from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.0.1/specs
Configured with: /usr/local/build/gcc-3.0.1/configure
--build=hppa2.0n-hp-hpux11.00 --host=hppa2.0n-hp-hpux11.00 --with-gnu-as
--with-as=/usr/local/bin/as
Thread model: single
gcc version 3.0.1
/usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.0.1/cpp0 -lang-c++ -D__GNUG__=3
-D__GXX_DEPRECATED -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -v -D__GNUC__=3
-D__GNUC_MINOR__=0 -D__GNUC_PATCHLEVEL__=1 -Dhppa -Dhp9000s800 -D__hp9000s800
-Dhp9k8 -DPWB -Dhpux -Dunix -D__hppa__ -D__hp9000s800__ -D__hp9000s800
-D__hp9k8__ -D__PWB__ -D__hpux__ -D__unix__ -D__hppa -D__hp9000s800 -D__hp9k8
-D__PWB -D__hpux -D__unix -Asystem=unix -Asystem=hpux -Acpu=hppa -Amachine=hppa
-D__NO_INLINE__ -D__STDC_HOSTED__=1 -Wall -D_HPUX_SOURCE -D_HIUX_SOURCE
-D__STDC_EXT__ -D_PA_RISC1_1 -D__hp9000s700 test.cpp test.ii
GNU CPP version 3.0.1 (cpplib) (hppa)
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include/g++-v3
/usr/local/include/g++-v3/hppa2.0n-hp-hpux11.00
/usr/local/include/g++-v3/backward
/usr/local/include
/usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.0.1/include
/usr/local/hppa2.0n-hp-hpux11.00/include
/usr/include
End of search list.
/usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.0.1/cc1plus -fpreprocessed
test.ii -quiet -dumpbase test.cpp -Wall -version -o test.s
GNU CPP version 3.0.1 (cpplib) (hppa)
GNU C++ version 3.0.1 (hppa2.0n-hp-hpux11.00)
compiled by GNU C version 3.0.1.
/usr/local/bin/as --traditional-format -o test.o test.s
/usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.0.1/collect2 -L/lib/pa1.1
-L/usr/lib/pa1.1 -z -u main -otest /usr/lib/crt0.o -L/usr/local/lib
-L/home/jdmartin/local/lib -L/usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.0.1
-L/usr/ccs/bin -L/usr/ccs/lib -L/opt/langtools/lib
-L/usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.0.1/../../..
+vallcompatwarnings test.o -lstdc++ -lm -lgcc -lc -lgcc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.ii.gz
Type: application/x-gzip
Size: 77819 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20010907/701ca831/attachment.bin>
More information about the Libstdc++
mailing list