libstdc++/6932: Broken C++ headers, fstream
Edward V. Hynan
evh@stella.ehynan.com
Tue Jun 4 15:46:00 GMT 2002
>Number: 6932
>Category: libstdc++
>Synopsis: Broken C++ headers, e.g. fstream (note: __c_file_type!!!)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: rejects-legal
>Submitter-Id: net
>Arrival-Date: Tue Jun 04 15:46:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Edward V. Hynan
>Release: 3.1
>Organization:
hardly
>Environment:
System: Linux stella 2.4.18 #7 Mon Mar 11 17:49:19 EST 2002 i586 unknown
Architecture: i586
host: i586-pc-linux-gnu
build: i586-pc-linux-gnu
target: i586-pc-linux-gnu
configured with: /var/src/src-storage/gcc-3.1/build/../gcc-3.1/configure --enable-shared --with-gnu-as --with-dwarf2 --enable-threads --with-cpu=k6-3 --with-system-zlib
>Description:
When bits/basic_file.h is included, as when fstream has been
included, a parse error occurs at line 52:
``/usr/local/include/g++-v3/bits/basic_file.h:52: parse error before `{' token''
(Of course, many more messages follow.)
(The installed g++-v3/bits/basic_file.h:51 file is
gcc-3.1/libstdc++-v3/config/io/basic_file_libio.h:57
in the source tree?)
The problem is that struct __basic_file_base (bits/basic_file.h:51)
is derived from __c_file_type, but __c_file_type is unknown.
The libstdc++ ChangeLog says (lines 249-252) __c_file_type is
changed to __c_file. That change is apparently incomplete, as
the installed bits/basic_file.h still has (the now unknown)
__c_file_type.
The result is that one cannot include fstream, which is not good.
>How-To-Repeat:
Simply #include <fstream>
>Fix:
Have not attempted to fix it.
>Release-Note:
>Audit-Trail:
>Unformatted:
X-send-pr-version: 3.113
X-GNATS-Notify:
More information about the Gcc-bugs
mailing list