On Wed, Jun 2, 2010 at 8:38 AM, 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*.  It teaches caution against
> over-abstracting and arbitrary complexity.
>

STL is good, but may surplus what GCC really needs, and will introduce
many complex, "uncontrollable" C++ features.


Personally, I think what GCC need most is  an simple, generic, one
layer containers of pointers to objects,  with their iterators.
Instead of containers of arbitrary types.  That means the type
parameters of the standard templates is restricted to pointer to
objects.


If you can't refrain from using STL and don't like the mess it may
introduce, you can derive classes from instantiated standard templates
with pointer as type parameters, and use the derived, template-free
classes in rest of your code.


And, I will be glad to see C++ strings replace all uses of C strings,
but this may be hard.


I don't think TREE and RTL access macros like TREE_CODE, TREE_TYPE,
TREE_OPERAND, GET_CODE, GET_MODE, XEXP, etc should be replaced by
virtual methods. But I think dump and debug codes may be implemented
as virtual methods.





-- 
徐持恒(Chiheng Xu)
Wuhan,China

Reply via email to