Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Jun 2003 13:41:35 -0500
From:      David Leimbach <leimy2k@mac.com>
To:        Allan Bowhill <abowhill@blarg.net>
Cc:        fbsd-current <freebsd-current@freebsd.org>
Subject:   Re: <ftream> errors under g++ 3.2.2
Message-ID:  <4F7B10CF-AA61-11D7-92F6-0003937E39E0@mac.com>
In-Reply-To: <013601c33e6a$eb312d70$0200000a@io>
References:  <013601c33e6a$eb312d70$0200000a@io>

next in thread | previous in thread | raw e-mail | index | archive | help

On Sunday, June 29, 2003, at 1:19PM, Allan Bowhill wrote:

> I recently updated one of my machines to -current to adapt some code to
> build under the new version of gcc (3.2.2). However, file IO using 
> <fstream>
> gives error messages about implicit typenames being deprecated, and I 
> can't
> for the life of me figure out what to do my code to make the compiler 
> happy.
> Has anyone encountered this?
>
> Below is a small example illustrating the problem. The source below 
> should
> compile fine on a previous version of g++, as in -stable.  However, it 
> will
> not compile on -current using g++ 3.3.2. Does anyone know what to do 
> to the
> simple source below to get it to compile happily under -current?
>
> (yes, I have checked gnu gcc's mailing list and FAQ/docs. I can't find 
> an
> adequate explanation for it. I suspect it has something to do with 
> stricter
> conformance to the finalized C++ standard, but since I am still a 
> novice any
> explanation by gcc developers would probably have slipped by me)
>

Your code below is fine... there is something wrong with the C++ 
headers used
in the FreeBSD tree.  I haven't seen this on other platforms.  I don't 
think that those with commit access generally do a lot with C++ 
[possibly a bad assumption, but I have
a hard time believing the problem would have lived so long if this 
weren't the case]

Dave



> ---------
>
> #include <fstream>
>
> int main()
> {
>     std::ofstream afile("test.txt");
>     afile << "some data";
> }
>
> ----------
>
>> gcc -v
> Using built-in specs.
> Configured with: FreeBSD/i386 system compiler
> Thread model: posix
> gcc version 3.2.2 [FreeBSD] 20030205 (release)
>
> ---------
>
>> g++ test.cc
> In file included from test.cc:1:
> /usr/include/g++/fstream:304: warning: `typename 
> std::basic_filebuf<_CharT,
>    _Traits>::int_type' is implicitly a typename
> /usr/include/g++/fstream:304: warning: implicit typename is deprecated,
> please
>    see the documentation for details
> /usr/include/g++/fstream:309: warning: `typename 
> std::basic_filebuf<_CharT,
>    _Traits>::int_type' is implicitly a typename
> /usr/include/g++/fstream:309: warning: implicit typename is deprecated,
> please
>    see the documentation for details
>
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to 
> "freebsd-current-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F7B10CF-AA61-11D7-92F6-0003937E39E0>