Slightly less trivial clean-up patch for stl_tree

Paolo Carlini pcarlini@suse.de
Sat Jul 29 11:19:00 GMT 2006


Hi Gawain,

>    * iterator _M_insert_equal(iterator __position, const value_type&
>      __x) and
>      const_iterator _M_insert_equal(const_iterator __position, const
>      value_type& __x) replaced with
>      iterator _M_insert_equal(const_iterator __position, const
>      value_type& __x)

I don't think this kind of change is safe for the current "ABI" (in the 
wide sense). In different objects (using old and new stl_tree.h) we may 
have both weak symbols

    const_iterator
    _M_insert_equal(const_iterator __position, const value_type& __x)

and

    iterator
    _M_insert_equal(const_iterator __position, const value_type& __x)

which differ only for the return type. Which one is picked by the linker?

For v7-branch, on the other hand, this is exactly the kind of approach I 
was looking for... If you like, you can be even more aggressive...

Paolo.




More information about the Libstdc++ mailing list