On Sat, Sep 21, 2013 at 06:11:49PM -0400, Howard Hinnant wrote: > On Sep 21, 2013, at 5:53 PM, Chandler Carruth <[email protected]> wrote: > > > > > On Sat, Sep 21, 2013 at 2:48 PM, Howard Hinnant <[email protected]> > > wrote: > > I really like this patch. It is a nice piece of work. Unfortunately I > > think I'm going to have to decline it for ABI reasons. > > > > Ouch. > > > > Do you see any path forward here or solution to preserve ABI? We ran into a > > nontrivial amount of code which ended up relying on this. > > The easiest thing I can think of is to wait until libc++ is ready to make ABI > breaking changes across the board, and then increment _LIBCPP_ABI_VERSION. > > I've wondered if Peter's fix would work if we gratuitously restored the > unneeded template parameter on __deque_iterator just for the purpose of ABI > stability. I don't know the answer to this question, and won't personally > have time to investigate it at this time.
This won't work straightforwardly because the compiler will instantiate the iterator and const_iterator typedefs when it instantiates std::deque, forcing the block size parameter to be evaluated. I have broader thoughts on ABI transitions in libc++ and have started a new thread to discuss them. Thanks, -- Peter _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
