On 18/11/14 10:45 +0100, Richard Biener wrote:
Looking at all these issues that just pop up inside libstdc++ I wonder if this whole business will not blow up in our face once out in the wild...
I'm trying to ensure that most of the the pain is dealt with inside libstdc++ and so users won't have the same kind of issues. I've got to the point where everything works except programs which use custom facets. If you create a custom locale with a user-defined facet in a translation unit that uses the new ABI and imbue an iostream with that locale, your user-defined facet will not be used, because the iostream definitions are instantiated in the library using the old ABI. I've never met anyone who uses custom facets, but that doesn't mean it's OK for them to not work properly using the new ABI. So if I add dg-options "-D_GLIBCXX_USE_CXX11_ABI" to the last 40 tests that are failing, everything passes. Maybe that's what I should do for now.