public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* c++/7359: Global FIle Streams Broken
@ 2002-07-19 9:26 cda
0 siblings, 0 replies; 4+ messages in thread
From: cda @ 2002-07-19 9:26 UTC (permalink / raw)
To: gcc-gnats
>Number: 7359
>Category: c++
>Synopsis: Global FIle Streams Broken
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Jul 19 09:26:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Chuck Allison
>Release: 3.1 and 3.1.1
>Organization:
>Environment:
Cygwin/Windows XP
Cygwin/Windows 2000
>Description:
Global file streams don't compile. Here's the code:
#include <iostream>
#include <fstream>
using namespace std;
ofstream out("trace.out");
int main() {
out << "A test line\n";
out << "one more" << endl;
}
It works on Microsoft VC .NET, but g++ chokes. The error output for 3.1 is in the file attachment. A friend tried it on 3.1.1-3 and it also failed. According to the standard, it should work (although I realize library initialization is tricky - but if MS can do it, anyone can, right? :-). I passed this by Bjarne Stroustrup and a couple other standards committee members just to double check and they all agree it is conforming code. Thanks.
>How-To-Repeat:
Attempt to compile the code in the description field above.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: c++/7359: Global FIle Streams Broken
@ 2002-07-19 14:22 pme
0 siblings, 0 replies; 4+ messages in thread
From: pme @ 2002-07-19 14:22 UTC (permalink / raw)
To: cda, gcc-bugs, gcc-prs, nobody
Synopsis: Global FIle Streams Broken
State-Changed-From-To: feedback->closed
State-Changed-By: pme
State-Changed-When: Fri Jul 19 14:22:31 2002
State-Changed-Why:
http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_0
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7359
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: c++/7359: Global FIle Streams Broken
@ 2002-07-19 14:06 Chuck Allison
0 siblings, 0 replies; 4+ messages in thread
From: Chuck Allison @ 2002-07-19 14:06 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c++/7359; it has been noted by GNATS.
From: "Chuck Allison" <cda@freshsources.com>
To: "Chuck Allison" <cda@freshsources.com>,
<gcc-gnats@gcc.gnu.org>,
<gcc-prs@gcc.gnu.org>,
<gcc-bugs@gcc.gnu.org>,
<nobody@gcc.gnu.org>
Cc:
Subject: Re: c++/7359: Global FIle Streams Broken
Date: Fri, 19 Jul 2002 14:59:52 -0600
This is a multi-part message in MIME format.
------=_NextPart_000_022C_01C22F34.EF917F50
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
In file included from /usr/local/include/g++-v3/fstream:48,
from ftest.cpp:2:
/usr/local/include/g++-v3/bits/basic_file.h:52: parse error before `{' token
/usr/local/include/g++-v3/bits/basic_file.h:57: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:57: function `int
std::overflow(int
= -1)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:60: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:60: function `int
std::underflow()'
is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:63: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:63: function `int std::uflow()'
is
initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:66: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:66: function `int
std::pbackfail(int)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:69: parse error before `*' token
/usr/local/include/g++-v3/bits/basic_file.h:69: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:69: function `streamsize
std::xsputn(...)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:72: `_CharT' was not declared in
this scope
/usr/local/include/g++-v3/bits/basic_file.h:72: `__s' was not declared in
this
scope
/usr/local/include/g++-v3/bits/basic_file.h:72: parse error before `)' token
/usr/local/include/g++-v3/bits/basic_file.h:72: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:72: function `streamsize
std::xsgetn(...)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:76: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:76: function `streamoff
std::seekoff(long int, std::_Ios_Seekdir, std::_Ios_Openmode =
std::operator|(std::_Ios_Openmode,
std::_Ios_Openmode)((std::_Ios_Openmode)8, (std::_Ios_Openmode)16))' is
initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:80: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:80: function `streamoff
std::seekpos(long int, std::_Ios_Openmode =
std::operator|(std::_Ios_Openmode,
std::_Ios_Openmode)((std::_Ios_Openmode)8, (std::_Ios_Openmode)16))' is
initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:83: `_CharT' was not declared in
this scope
/usr/local/include/g++-v3/bits/basic_file.h:83: `__b' was not declared in
this
scope
/usr/local/include/g++-v3/bits/basic_file.h:83: parse error before `)' token
/usr/local/include/g++-v3/bits/basic_file.h:83: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:83: function `std::streambuf*
std::setbuf(...)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:86: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:86: function `int std::sync()'
is
initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:89: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:89: function `int
std::doallocate()
' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:92: `_CharT' was not declared in
this scope
/usr/local/include/g++-v3/bits/basic_file.h:92: `__s' was not declared in
this
scope
/usr/local/include/g++-v3/bits/basic_file.h:92: parse error before `)' token
/usr/local/include/g++-v3/bits/basic_file.h:92: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:92: function `streamsize
std::sys_read(...)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:95: parse error before `*' token
/usr/local/include/g++-v3/bits/basic_file.h:95: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:95: function `streamsize
std::sys_write(...)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:98: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:98: function `streamoff
std::sys_seek(long int, std::_Ios_Seekdir)' is initialized like a
variable
/usr/local/include/g++-v3/bits/basic_file.h:101: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:101: function `int
std::sys_close()
' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:104: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:104: function `int
std::sys_stat(void*)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:107: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:107: function `int
std::showmanyc()
' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:110: virtual outside class
declaration
/usr/local/include/g++-v3/bits/basic_file.h:110: function `void
std::imbue(void*)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:133: parse error before `*'
token
/usr/local/include/g++-v3/bits/basic_file.h:136: parse error before `::'
token
/usr/local/include/g++-v3/bits/basic_file.h:141: type specifier omitted for
parameter `ios_base'
/usr/local/include/g++-v3/bits/basic_file.h:141: parse error before `::'
token
/usr/local/include/g++-v3/bits/basic_file.h:148: parse error before `::'
token
/usr/local/include/g++-v3/bits/basic_file.h:185: `streamsize' declared as a
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:185: parse error before `('
token
/usr/local/include/g++-v3/bits/basic_file.h:191: `streamsize' declared as a
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:191: declaration of `int
__basic_file<_CharT>::streamsize'
/usr/local/include/g++-v3/bits/basic_file.h:185: conflicts with previous
declaration `int __basic_file<_CharT>::streamsize'
/usr/local/include/g++-v3/bits/basic_file.h:191: parse error before `('
token
/usr/local/include/g++-v3/bits/basic_file.h:197: `streamoff' declared as a
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:197: parse error before `('
token
/usr/local/include/g++-v3/bits/basic_file.h:204: `streamoff' declared as a
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:204: declaration of `int
__basic_file<_CharT>::streamoff'
/usr/local/include/g++-v3/bits/basic_file.h:197: conflicts with previous
declaration `int __basic_file<_CharT>::streamoff'
/usr/local/include/g++-v3/bits/basic_file.h:204: parse error before `('
token
/usr/local/include/g++-v3/bits/basic_file.h:207: `streambuf' declared as a
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:207: parse error before `*'
token
/usr/local/include/g++-v3/bits/basic_file.h:220: `streamsize' declared as a
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:220: declaration of `int
__basic_file<_CharT>::streamsize'
/usr/local/include/g++-v3/bits/basic_file.h:185: conflicts with previous
declaration `int __basic_file<_CharT>::streamsize'
/usr/local/include/g++-v3/bits/basic_file.h:220: parse error before `('
token
/usr/local/include/g++-v3/bits/basic_file.h:226: `streamsize' declared as a
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:226: declaration of `int
__basic_file<_CharT>::streamsize'
/usr/local/include/g++-v3/bits/basic_file.h:185: conflicts with previous
declaration `int __basic_file<_CharT>::streamsize'
/usr/local/include/g++-v3/bits/basic_file.h:226: parse error before `('
token
/usr/local/include/g++-v3/bits/basic_file.h:232: `streamoff' declared as a
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:232: declaration of `int
__basic_file<_CharT>::streamoff'
/usr/local/include/g++-v3/bits/basic_file.h:197: conflicts with previous
declaration `int __basic_file<_CharT>::streamoff'
/usr/local/include/g++-v3/bits/basic_file.h:232: parse error before `('
token
/usr/local/include/g++-v3/bits/basic_file.h:246: parse error before `}'
token
In file included from /usr/local/include/g++-v3/bits/basic_file.h:250,
from /usr/local/include/g++-v3/fstream:48,
from ftest.cpp:2:
/usr/local/include/g++-v3/i686-pc-cygwin/bits/basic_file_model.h:38: parse
error before `*' token
/usr/local/include/g++-v3/i686-pc-cygwin/bits/basic_file_model.h:38:
confused by earlier errors, bailing out
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&p
r=7359
------=_NextPart_000_022C_01C22F34.EF917F50
Content-Type: application/octet-stream;
name="ftest.out"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="ftest.out"
In file included from /usr/local/include/g++-v3/fstream:48,
from ftest.cpp:2:
/usr/local/include/g++-v3/bits/basic_file.h:52: parse error before `{' =
token
/usr/local/include/g++-v3/bits/basic_file.h:57: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:57: function `int =
std::overflow(int=20
=3D -1)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:60: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:60: function `int =
std::underflow()'=20
is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:63: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:63: function `int =
std::uflow()' is=20
initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:66: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:66: function `int=20
std::pbackfail(int)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:69: parse error before `*' =
token
/usr/local/include/g++-v3/bits/basic_file.h:69: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:69: function `streamsize=20
std::xsputn(...)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:72: `_CharT' was not =
declared in=20
this scope
/usr/local/include/g++-v3/bits/basic_file.h:72: `__s' was not declared =
in this=20
scope
/usr/local/include/g++-v3/bits/basic_file.h:72: parse error before `)' =
token
/usr/local/include/g++-v3/bits/basic_file.h:72: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:72: function `streamsize=20
std::xsgetn(...)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:76: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:76: function `streamoff=20
std::seekoff(long int, std::_Ios_Seekdir, std::_Ios_Openmode =3D=20
std::operator|(std::_Ios_Openmode,=20
std::_Ios_Openmode)((std::_Ios_Openmode)8, (std::_Ios_Openmode)16))' =
is=20
initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:80: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:80: function `streamoff=20
std::seekpos(long int, std::_Ios_Openmode =3D=20
std::operator|(std::_Ios_Openmode,=20
std::_Ios_Openmode)((std::_Ios_Openmode)8, (std::_Ios_Openmode)16))' =
is=20
initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:83: `_CharT' was not =
declared in=20
this scope
/usr/local/include/g++-v3/bits/basic_file.h:83: `__b' was not declared =
in this=20
scope
/usr/local/include/g++-v3/bits/basic_file.h:83: parse error before `)' =
token
/usr/local/include/g++-v3/bits/basic_file.h:83: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:83: function =
`std::streambuf*=20
std::setbuf(...)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:86: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:86: function `int =
std::sync()' is=20
initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:89: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:89: function `int =
std::doallocate()
' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:92: `_CharT' was not =
declared in=20
this scope
/usr/local/include/g++-v3/bits/basic_file.h:92: `__s' was not declared =
in this=20
scope
/usr/local/include/g++-v3/bits/basic_file.h:92: parse error before `)' =
token
/usr/local/include/g++-v3/bits/basic_file.h:92: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:92: function `streamsize=20
std::sys_read(...)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:95: parse error before `*' =
token
/usr/local/include/g++-v3/bits/basic_file.h:95: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:95: function `streamsize=20
std::sys_write(...)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:98: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:98: function `streamoff=20
std::sys_seek(long int, std::_Ios_Seekdir)' is initialized like a =
variable
/usr/local/include/g++-v3/bits/basic_file.h:101: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:101: function `int =
std::sys_close()
' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:104: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:104: function `int=20
std::sys_stat(void*)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:107: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:107: function `int =
std::showmanyc()
' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:110: virtual outside class=20
declaration
/usr/local/include/g++-v3/bits/basic_file.h:110: function `void=20
std::imbue(void*)' is initialized like a variable
/usr/local/include/g++-v3/bits/basic_file.h:133: parse error before `*' =
token
/usr/local/include/g++-v3/bits/basic_file.h:136: parse error before `::' =
token
/usr/local/include/g++-v3/bits/basic_file.h:141: type specifier omitted =
for=20
parameter `ios_base'
/usr/local/include/g++-v3/bits/basic_file.h:141: parse error before `::' =
token
/usr/local/include/g++-v3/bits/basic_file.h:148: parse error before `::' =
token
/usr/local/include/g++-v3/bits/basic_file.h:185: `streamsize' declared =
as a=20
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:185: parse error before `(' =
token
/usr/local/include/g++-v3/bits/basic_file.h:191: `streamsize' declared =
as a=20
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:191: declaration of `int=20
__basic_file<_CharT>::streamsize'
/usr/local/include/g++-v3/bits/basic_file.h:185: conflicts with previous =
declaration `int __basic_file<_CharT>::streamsize'
/usr/local/include/g++-v3/bits/basic_file.h:191: parse error before `(' =
token
/usr/local/include/g++-v3/bits/basic_file.h:197: `streamoff' declared as =
a=20
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:197: parse error before `(' =
token
/usr/local/include/g++-v3/bits/basic_file.h:204: `streamoff' declared as =
a=20
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:204: declaration of `int=20
__basic_file<_CharT>::streamoff'
/usr/local/include/g++-v3/bits/basic_file.h:197: conflicts with previous =
declaration `int __basic_file<_CharT>::streamoff'
/usr/local/include/g++-v3/bits/basic_file.h:204: parse error before `(' =
token
/usr/local/include/g++-v3/bits/basic_file.h:207: `streambuf' declared as =
a=20
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:207: parse error before `*' =
token
/usr/local/include/g++-v3/bits/basic_file.h:220: `streamsize' declared =
as a=20
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:220: declaration of `int=20
__basic_file<_CharT>::streamsize'
/usr/local/include/g++-v3/bits/basic_file.h:185: conflicts with previous =
declaration `int __basic_file<_CharT>::streamsize'
/usr/local/include/g++-v3/bits/basic_file.h:220: parse error before `(' =
token
/usr/local/include/g++-v3/bits/basic_file.h:226: `streamsize' declared =
as a=20
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:226: declaration of `int=20
__basic_file<_CharT>::streamsize'
/usr/local/include/g++-v3/bits/basic_file.h:185: conflicts with previous =
declaration `int __basic_file<_CharT>::streamsize'
/usr/local/include/g++-v3/bits/basic_file.h:226: parse error before `(' =
token
/usr/local/include/g++-v3/bits/basic_file.h:232: `streamoff' declared as =
a=20
`virtual' field
/usr/local/include/g++-v3/bits/basic_file.h:232: declaration of `int=20
__basic_file<_CharT>::streamoff'
/usr/local/include/g++-v3/bits/basic_file.h:197: conflicts with previous =
declaration `int __basic_file<_CharT>::streamoff'
/usr/local/include/g++-v3/bits/basic_file.h:232: parse error before `(' =
token
/usr/local/include/g++-v3/bits/basic_file.h:246: parse error before `}' =
token
In file included from /usr/local/include/g++-v3/bits/basic_file.h:250,
from /usr/local/include/g++-v3/fstream:48,
from ftest.cpp:2:
/usr/local/include/g++-v3/i686-pc-cygwin/bits/basic_file_model.h:38: =
parse=20
error before `*' token
/usr/local/include/g++-v3/i686-pc-cygwin/bits/basic_file_model.h:38: =
confused by earlier errors, bailing out
------=_NextPart_000_022C_01C22F34.EF917F50--
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: c++/7359: Global FIle Streams Broken
@ 2002-07-19 13:19 paolo
0 siblings, 0 replies; 4+ messages in thread
From: paolo @ 2002-07-19 13:19 UTC (permalink / raw)
To: cda, gcc-bugs, gcc-prs, nobody
Synopsis: Global FIle Streams Broken
State-Changed-From-To: open->feedback
State-Changed-By: paolo
State-Changed-When: Fri Jul 19 13:19:57 2002
State-Changed-Why:
Hi. The error output got lost somehow. Could you possibly
provide it again?
Thanks, Paolo.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7359
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2002-07-19 21:22 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-07-19 9:26 c++/7359: Global FIle Streams Broken cda
2002-07-19 13:19 paolo
2002-07-19 14:06 Chuck Allison
2002-07-19 14:22 pme
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).