Converting to C++ is a major change. Does that justify to have a major release 
(5.0.0)? 

Bingfeng

> -----Original Message-----
> From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On Behalf Of
> Richard Guenther
> Sent: 02 June 2010 10:36
> To: Gabriel Dos Reis
> Cc: DJ Delorie; Hargett, Matt; gcc@gcc.gnu.org
> Subject: Re: Using C++ in GCC is OK
> 
> On Wed, Jun 2, 2010 at 2:49 AM, Gabriel Dos Reis
> <g...@integrable-solutions.net> wrote:
> > On Tue, Jun 1, 2010 at 7:38 PM, DJ Delorie <d...@redhat.com> wrote:
> >>
> >> "Hargett, Matt" <matt.harg...@bluecoat.com> writes:
> >>>> As noted earlier I think we do want to use some STL classes.
> >>>
> >>> I agree with Mark's earlier declaration that it is relatively
> >>> straight-forward, low-hanging fruit to replace VEC_*
> >>
> >> I do not object to simple and obvious uses of STL to replace
> equivalent
> >> functionality, but I've seen code that layers STL over STL over STL
> to
> >> the point where the code is very difficult to understand.  Hence, my
> >> recommendation to avoid STL *at first*.
> >
> > I think that would be most unproductive and misguided.
> > The first thing we should do is
> >
> >    (1) resist NIH
> >
> > Then
> >    (2) we should prefer standard solution over home-grown hacks,
> unless
> >         there is a clear demonstration of value.  For example, it
> would be
> >         unwise to prefer our current VEC_xxx over
> std::vector.  Conversely,
> >         we should probably have our own hash table, since there is
> none in
> >         C++98.
> 
> Well, on the one hand I agree - but on the other hand I see people
> eagerly waiting to be the first to post patches to convert all
> VEC uses that allocate from the heap(!) (yes - we can't use STL
> for GC allocated stuff!), leaving us with files that use a mix of
> stl::vector and VEC.  VEC is clearly superior here in that it provides
> a general vector implementation which can allocate from GC space,
> heap or even the stack.  Why switch to a less capable implementation?
> 
> OTOH for pointer-map and pointer-set I see little value keeping it
> (it can't be used for GC allocated stuff), so std::map and std::set
> are a perfect fit.
> 
> For libiberty hashtables the same issues exist as with VEC -
> furthermore
> there is no real hashtable implementation in C++98, so there
> isn't even a 1:1 thing to substitute.
> 
> Richard.
> 
> >> It teaches caution against  over-abstracting and arbitrary
> complexity.
> >
> > avoiding over-abstracting is not reached by banning standard
> solutions -- that
> > only lead to more brittle and bug-ridden hacks.
> >
> > The way we avoid over-abstracting is to have people write simple
> codes, and
> > reviewers use their best judgments.


Reply via email to