This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/30711] New: Ifstream bug using Red Hat g++-4.1.0 compared to g++-4.0.2
- From: "steigers at phys dot ethz dot ch" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Feb 2007 10:04:37 -0000
- Subject: [Bug c++/30711] New: Ifstream bug using Red Hat g++-4.1.0 compared to g++-4.0.2
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
When an ifstream object is used in several open()-close() cycles, it seems to
remember past cycles in the Red Hat gcc version.
STEPS TO REPRODUCE:
1) Compile the attached code using gcc version 4.1.0 20060515 (Red Hat
4.1.0-18)
2) Compile the attached code using gcc version 4.0.2
3) Create a file named "filetest.mat" in the directory where you exectude the
binaries
4) Compare the results: They are different
ACTUAL RESULTS: (Output from program compiled with gcc 4.1.0 20060515 (Red Hat
4.1.0-18))
------------------------------------------------------
Try 1: ifstream-declaration outside loop (not working)
could not open file ./not_existing_directory/filetest.mat
could not open file ./filetest.mat
------------------------------------------------------
Try 2: ifstream-declaration inside loop (working)
could not open file ./not_existing_directory/filetest.mat
could open file ./filetest.mat
------------------------------------------------------
EXPECTED RESULTS: (Output from program compiled with gcc 4.0.2)
------------------------------------------------------
Try 1: ifstream-declaration outside loop (not working)
could not open file ./not_existing_directory/filetest.mat
could open file ./filetest.mat
------------------------------------------------------
Try 2: ifstream-declaration inside loop (working)
could not open file ./not_existing_directory/filetest.mat
could open file ./filetest.mat
------------------------------------------------------
BUILD INFOS:
Faulty version:
---------------
gcc version 4.1.0 20060515 (Red Hat 4.1.0-18)
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --with-gxx-include-dir=/usr/include/c++/3.4.3
--enable-libgcj-multifile --enable-languages=c,c++,java,f95
--enable-java-awt=gtk --disable-dssi
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic
--host=x86_64-redhat-linux
Thread model: posix
Working version:
----------------
gcc version 4.0.2
Reading specs from
/usr/pack/gcc-4.0.2-mo/amd64-debian-linux3.1/lib/gcc/x86_64-unknown-linux-gnu/4.0.2/specs
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/usr/pack/gcc-4.0.2-mo
--exec-prefix=/usr/pack/gcc-4.0.2-mo/amd64-debian-linux3.1
--with-gxx-include-dir=/usr/pack/gcc-4.0.2-mo/include/c++ --disable-nls
--enable-languages=c,c++,f95
Thread model: posix
--
Summary: Ifstream bug using Red Hat g++-4.1.0 compared to g++-
4.0.2
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: steigers at phys dot ethz dot ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30711