This is the mail archive of the
mailing list for the libstdc++ project.
Re: [v3] container requirements cleanups
Benjamin Kosnik wrote:
> Thanks for the clarification.
You are welcome.
> Sorry, I did not realize this. How do you propose going about
> using __versa_string as std::string (and presumably moving the existing
> std::string code to __gnu_cxx::basic_string) on trunk? I am in support
> of this change, but consider this a separate issue.
Indeed it is a separate issue. We briefly discussed it in Frankfurt with
Jason, and I told him that I consider that **highly** non-trivial. Of
course any new non-refcounted implementation, __versa_string as a
special case, breaks completely the ABI in any sense. Also note, that
when we'll *promote* __versa_string and start exporting its symbols we
must be *very* careful about some of its internals, making sure really
supports the whole C++0x specs, supports all the optimizations we want,
actually implements already the ones which can have an ABI-impact, and
> The status quo is untenable: C++0x public mf definitions that are extern
> template suppressed and unexported. Unusable. I think it makes sense to
> audit and export the new bits. Do you agree, agree with string
> special-cased, or other?
Is indeed untenable. If you ask me, let's leave basic_string alone, not
implementing for now any C++0x bits. If you want, I can help reverting
any bits which inadvertently got committed in the past.