Date: Tue, 2 Mar 2010 08:18:05 -0500 From: John Baldwin <jhb@freebsd.org> To: Roman Divacky <rdivacky@freebsd.org> Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r204537 - in projects/clangbsd/contrib/libstdc++: include/ext src Message-ID: <201003020818.05379.jhb@freebsd.org> In-Reply-To: <20100302082214.GA24947@freebsd.org> References: <201003012130.o21LUB0I022574@svn.freebsd.org> <201003011744.45410.jhb@freebsd.org> <20100302082214.GA24947@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 02 March 2010 3:22:14 am Roman Divacky wrote: > <disclaimer> > 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 *sigh* Yet another reason to prefer Java or C# as a language to the bloated monstrosity that is C++. :( (The VMs may be problematic, but the languages sure are cleaner.) > > > 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<C>; > > > > > > // ctype > > > - inline template class __ctype_abstract_base<C>; > > > + template class __ctype_abstract_base<C>; > > > template class ctype_byname<C>; > > > > > > // codecvt > > > - inline template class __codecvt_abstract_base<C, char, mbstate_t>; > > > + template class __codecvt_abstract_base<C, char, mbstate_t>; > > > template class codecvt_byname<C, char, mbstate_t>; > > > > 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 Oh, bah, I missed that it was a class vs a function. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003020818.05379.jhb>