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"Received on Sun Jun 29 2003 - 09:41:41 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:13 UTC