diff mbox

New std::string implementation

Message ID 20141114165138.GK5191@redhat.com
State New
Headers show

Commit Message

Jonathan Wakely Nov. 14, 2014, 4:51 p.m. UTC
On 14/11/14 16:42 +0000, Jonathan Wakely wrote:
>On 14/11/14 16:32 +0000, Christopher Jefferson wrote:
>>I tried bootstrapping on Mac OS X 10.10, and got lots of linking
>>issues, the relevant part is::
>
>I might be missing some of the new instantiations, I'll look into
>that.

I am missing some instantiations, but that linker error is fixed by
this change:


Thie missing ones are due to the fact that insert/erase/replace etc.
take iterator arguments in C++03 and const_iterator in C++11, so the
explicit instantiations in src/c++11/string-inst.cc only generate the
const_iterator form.  I'm not sure whether to add explicit
instantiations for the other forms, or just say the arguments are
always const_iterator even in C++03 mode.

Comments

Jonathan Wakely Nov. 14, 2014, 10:37 p.m. UTC | #1
On 14/11/14 16:51 +0000, Jonathan Wakely wrote:
>On 14/11/14 16:42 +0000, Jonathan Wakely wrote:
>>On 14/11/14 16:32 +0000, Christopher Jefferson wrote:
>>>I tried bootstrapping on Mac OS X 10.10, and got lots of linking
>>>issues, the relevant part is::
>>
>>I might be missing some of the new instantiations, I'll look into
>>that.
>
>I am missing some instantiations

Ugh! and to provide them I have to tag almost every locale
facet, because they have std::string return values on virtual
functions. I thought the locale bits I had left to do were quite
limited, but it's not at all.
diff mbox

Patch

--- a/libstdc++-v3/src/c++11/cow-string-inst.cc
+++ b/libstdc++-v3/src/c++11/cow-string-inst.cc
@@ -29,8 +29,6 @@ 
 #define _GLIBCXX_USE_CXX11_ABI 0
 #include "string-inst.cc"
 
-#include "sstream-inst.cc"
-
 #include <ostream>
 #include "../c++98/istream-string.cc"