<ftream> errors under g++ 3.2.2
David Leimbach
leimy2k at mac.com
Sun Jun 29 11:41:41 PDT 2003
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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to
> "freebsd-current-unsubscribe at freebsd.org"
More information about the freebsd-current
mailing list