From owner-svn-src-projects@FreeBSD.ORG Tue Mar 2 08:23:22 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 515A3106566B; Tue, 2 Mar 2010 08:23:22 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from vlakno.cz (77-93-215-190.static.masterinter.net [77.93.215.190]) by mx1.freebsd.org (Postfix) with ESMTP id 0B3D78FC19; Tue, 2 Mar 2010 08:23:21 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 5D84E9CB0F1; Tue, 2 Mar 2010 09:22:16 +0100 (CET) X-Virus-Scanned: amavisd-new at vlakno.cz Received: from vlakno.cz ([127.0.0.1]) by localhost (lev.vlakno.cz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vkgg1BdYFYB1; Tue, 2 Mar 2010 09:22:14 +0100 (CET) Received: from vlk.vlakno.cz (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 1BA179CB0FF; Tue, 2 Mar 2010 09:22:14 +0100 (CET) Received: (from rdivacky@localhost) by vlk.vlakno.cz (8.14.3/8.14.3/Submit) id o228MEua025319; Tue, 2 Mar 2010 09:22:14 +0100 (CET) (envelope-from rdivacky) Date: Tue, 2 Mar 2010 09:22:14 +0100 From: Roman Divacky To: John Baldwin Message-ID: <20100302082214.GA24947@freebsd.org> References: <201003012130.o21LUB0I022574@svn.freebsd.org> <201003011744.45410.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201003011744.45410.jhb@freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r204537 - in projects/clangbsd/contrib/libstdc++: include/ext src X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Mar 2010 08:23:22 -0000 I am not a C++ expert but these changes were suggested by a member of C++ committee. ie. I trust them :) On Mon, Mar 01, 2010 at 05:44:45PM -0500, John Baldwin wrote: > On Monday 01 March 2010 4:30:11 pm Roman Divacky wrote: > > Author: rdivacky > > Date: Mon Mar 1 21:30:11 2010 > > New Revision: 204537 > > URL: http://svn.freebsd.org/changeset/base/204537 > > > > Log: > > Make this a little more like C++. Clang++ can grok all libstdc++ > > now. > > > > Modified: > > projects/clangbsd/contrib/libstdc++/include/ext/ropeimpl.h > > projects/clangbsd/contrib/libstdc++/src/locale-inst.cc > > > > Modified: projects/clangbsd/contrib/libstdc++/include/ext/ropeimpl.h > > > ============================================================================== > > --- projects/clangbsd/contrib/libstdc++/include/ext/ropeimpl.h Mon Mar 1 > 21:04:10 2010 (r204536) > > +++ projects/clangbsd/contrib/libstdc++/include/ext/ropeimpl.h Mon Mar 1 > 21:30:11 2010 (r204537) > > @@ -382,7 +382,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) > > { > > _Rope_RopeLeaf<_CharT, _Alloc>* __l > > = (_Rope_RopeLeaf<_CharT, _Alloc>*)this; > > - __l->_Rope_RopeLeaf<_CharT, _Alloc>::~_Rope_RopeLeaf(); > > + __l->template _Rope_RopeLeaf<_CharT, _Alloc>::~_Rope_RopeLeaf(); > > _L_deallocate(__l, 1); > > break; > > } > > Hmm, this hurts my brain to have 'template ' in the middle of a dereference. > I also don't see why it should be needed. C++ seems to work this way... it's ugly yes, but correct > > Modified: projects/clangbsd/contrib/libstdc++/src/locale-inst.cc > > > ============================================================================== > > --- projects/clangbsd/contrib/libstdc++/src/locale-inst.cc Mon Mar 1 > 21:04:10 2010 (r204536) > > +++ projects/clangbsd/contrib/libstdc++/src/locale-inst.cc Mon Mar 1 > 21:30:11 2010 (r204537) > > @@ -180,11 +180,11 @@ _GLIBCXX_END_LDBL_NAMESPACE > > template class messages_byname; > > > > // ctype > > - inline template class __ctype_abstract_base; > > + template class __ctype_abstract_base; > > template class ctype_byname; > > > > // codecvt > > - inline template class __codecvt_abstract_base; > > + template class __codecvt_abstract_base; > > template class codecvt_byname; > > Perhaps try moving the 'template' before the 'inline'? Randomly dropping > 'inline' isn't really ideal I think. the inline there is completely superfluous - you cant have an inline class instantiation