This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] New std::string implementation
- From: Jonathan Wakely <jwakely at redhat dot com>
- To: Christopher Jefferson <chris at bubblescope dot net>
- Cc: libstdc++ <libstdc++ at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 14 Nov 2014 16:51:38 +0000
- Subject: Re: [patch] New std::string implementation
- Authentication-results: sourceware.org; auth=none
- References: <20141114154330 dot GH5191 at redhat dot com> <CA+jCFLuwk2Bz=p1C=qkL1xAD7=ObAx9SRv4kGskUrnbQcavBCw at mail dot gmail dot com> <20141114164214 dot GJ5191 at redhat dot com>
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:
--- 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"
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.