This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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: [v3] <regex> implementation foundation, version 1


On Sun, 2010-06-20 at 03:12 +0100, Jonathan Wakely wrote:
> On 19 June 2010 13:18, Stephen M. Webb wrote:
> >
> > The ABI failures are due to adding stuff that uses std::vector to the
> > library. Since one of these instances is std::vector<int> I can see it
> > being a bad thing from an ABI point of view.
> 
> Can you define an enum type that is private to the library and
> instantiate vectors of that type instead?

The offending container is in fact a std::stack of indexes into a
std::vector of a type defined private to the library.  It doesn't
matter:  the genesis of the problem is that the linker script places all
symbols matching std::v* (or std::d*) in version GLIBCXX_3.4.  These
symbols were not in that older version, so boom there's an ABI
incompatibility.  It does not matter what type the vector is
instantiated on, it will fail the ABI check.

I will continue to see if I can just tweak things to hide the symbols
(suggestions are welcome).  It's not a show stopper:  I can back out the
additions to the library and just keep everything in headers if worse
comes to worst.  


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