On 11/12/2009 04:32 PM, Mark Mitchell wrote:
I understand the argument, but it sounds overly complicated. Or else not complicated enough. If we no longer think that a linear progression of ABI versions is sufficient, then we should have switches for picking your point in the multi-dimensional space, rather than just a numerical version.
I think that a linear progression is sufficient, but I want an additional point between 2 and 3 since 2 is the current default and 3 already has meaning. Thus the 2.1 suggestion.
That sounds theoretically right to me, but awfully complicated in practice. Do we have another libstdc++ ABI change coming? I'd suggest doing this as -fabi-version=4, and making that the default at that point.
We do; once C++0x is finalized we will need to switch to non-refcounted strings and support constant time list.size(). But I believe the plan is to manage that transition with namespace versioning so that old and new code can continue to coexist as long as they aren't actually trying to share affected data structures.
Jason