Jason Merrill wrote: >> So, do you consider ABIv3 there only as a theoretical conformance >> option? In other words, not something we're going to make the default >> in any forseeable future? (Those aren't meant to be rhetorical >> questions -- I'm just asking.) > > That has been my thinking, but perhaps it does make sense to make that > change with the C++0x library deployment; the impact should be pretty > limited.
I'd also expect that on embedded systems (even embedded GNU/Linux systems) people won't want the compatibility stuff in libstdc++. There's not much benefit in backwards compatibility if you're building everything for your new device, and a lot of benefit in making your binaries smaller. So, I still tend to think that the best thing is to put the vector stuff into v4, and switch that on when we update libstdc++. I think your suggest is coherent and well-reasoned, but it seems like a lot of complexity to deal with a template corner case. I guess another option is -fabi-version=implement-c++-for-petes-sake which means "use the ABI that implements as much of the language as possible". That would be your version 2.1, but arguably more logically coherent in that it would be expected to move in the future if/when we find another feature we can't implement due to current mangling issues. -- Mark Mitchell CodeSourcery m...@codesourcery.com (650) 331-3385 x713