This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: (C++) mangling vector types


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
mark@codesourcery.com
(650) 331-3385 x713


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]