From owner-freebsd-current@FreeBSD.ORG Sun Jun 29 11:13:23 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7111B37B401 for ; Sun, 29 Jun 2003 11:13:23 -0700 (PDT) Received: from mail.blarg.net (floyd.blarg.net [206.124.128.8]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0B0BA43FF9 for ; Sun, 29 Jun 2003 11:13:23 -0700 (PDT) (envelope-from abowhill@blarg.net) Received: from io (dsl-129-176.sea.blarg.net [206.124.129.176]) by mail.blarg.net (Postfix) with SMTP id 9631C37E98 for ; Sun, 29 Jun 2003 11:13:22 -0700 (PDT) Message-ID: <013601c33e6a$eb312d70$0200000a@io> From: "Allan Bowhill" To: "fbsd-current" Date: Sun, 29 Jun 2003 11:19:02 -0700 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Subject: errors under g++ 3.2.2 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jun 2003 18:13:23 -0000 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 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) --------- #include 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