Nico Weber
a7dcd3a3e1
[libcxx] Make __wrap_iter work with gcc.
...
he following snippet doesn't build when using gcc and libc++:
#include <string>
void f(const std::string& s) { s.begin(); }
#include <vector>
void AppendTo(const std::vector<char>& v) { v.begin(); }
The problem is that __wrap_iter has a private constructor. It lists vector<>
and basic_string<> as friends, but gcc seems to ignore this for vector<> for
some reason. Declaring vector before the friend declaration in __wrap_iter is
enough to work around this problem, so do that. With this patch, I'm able to
build chromium/android with libc++. Without it, two translation units fail to
build. (iosfwd already provides a forward declaration of basic_string.)
As far as I can tell, this is due to a gcc bug, which I filed as
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64816 .
Fixes PR22355.
http://reviews.llvm.org/D7201
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@227226 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-27 19:27:39 +00:00
..
2014-12-19 22:21:44 +00:00
2014-03-06 04:11:10 +00:00
2015-01-23 22:22:36 +00:00
2014-12-22 19:10:11 +00:00
2015-01-06 17:34:51 +00:00
2014-08-10 23:53:08 +00:00
2014-06-30 21:27:51 +00:00
2014-01-06 14:00:09 +00:00
2014-08-04 19:20:17 +00:00
2014-08-10 23:53:08 +00:00
2015-01-23 22:22:36 +00:00
2014-09-05 19:45:05 +00:00
2014-04-30 19:54:11 +00:00
2013-10-04 22:09:00 +00:00
2014-06-04 19:54:15 +00:00
2013-08-09 16:25:43 +00:00
2014-04-11 08:22:42 +00:00
2014-10-28 06:31:22 +00:00
2013-08-12 18:38:34 +00:00
2013-11-15 23:41:01 +00:00
2014-10-27 20:26:25 +00:00
2013-10-04 22:09:00 +00:00
2015-01-11 06:15:59 +00:00
2014-06-04 15:46:56 +00:00
2011-10-17 20:05:10 +00:00
2011-10-17 20:05:10 +00:00
2013-08-01 18:17:34 +00:00
2011-10-17 20:05:10 +00:00
2011-10-17 20:05:10 +00:00
2011-10-17 20:05:10 +00:00
2014-09-02 21:14:38 +00:00
2011-10-17 20:05:10 +00:00
2011-10-17 20:05:10 +00:00
2011-10-17 20:05:10 +00:00
2011-10-17 20:05:10 +00:00
2014-12-12 22:52:58 +00:00
2015-01-23 22:22:36 +00:00
2013-08-27 14:22:13 +00:00
2013-10-05 21:19:49 +00:00
2011-10-17 20:05:10 +00:00
2014-09-05 19:45:05 +00:00
2011-10-17 20:05:10 +00:00
2011-10-17 20:05:10 +00:00
2011-10-17 20:05:10 +00:00
2011-10-17 20:05:10 +00:00
2014-05-16 01:45:02 +00:00
2011-10-17 20:05:10 +00:00
2015-01-10 00:08:00 +00:00
2013-08-14 18:00:20 +00:00
2013-08-01 18:17:34 +00:00
2011-10-17 20:05:10 +00:00
2011-10-17 20:05:10 +00:00
2013-09-17 01:34:47 +00:00
2011-10-17 20:05:10 +00:00
2015-01-22 18:33:29 +00:00
2013-08-12 18:38:34 +00:00
2014-10-27 19:28:20 +00:00
2013-08-12 18:38:34 +00:00
2014-12-23 05:54:34 +00:00
2014-10-23 06:24:45 +00:00
2013-08-26 20:11:32 +00:00
2014-03-07 21:45:32 +00:00
2014-09-05 20:28:44 +00:00
2013-08-12 18:38:34 +00:00
2013-03-06 23:30:19 +00:00
2014-09-17 01:58:15 +00:00
2015-01-27 19:27:39 +00:00
2014-11-26 17:51:58 +00:00
2014-08-10 23:53:08 +00:00
2015-01-26 17:24:52 +00:00
2014-08-24 23:54:16 +00:00
2014-11-17 19:05:50 +00:00
2014-09-24 04:44:54 +00:00
2014-12-08 14:50:21 +00:00
2014-06-04 19:54:15 +00:00
2014-10-27 19:28:20 +00:00
2014-09-17 01:58:15 +00:00
2013-08-12 18:38:34 +00:00
2015-01-23 22:22:36 +00:00
2013-08-12 18:38:34 +00:00
2015-01-13 16:49:52 +00:00
2013-08-12 18:38:34 +00:00
2014-08-24 23:54:16 +00:00
2014-09-05 19:45:05 +00:00
2014-09-16 18:57:52 +00:00
2013-08-12 18:38:34 +00:00
2014-04-30 19:54:11 +00:00
2013-08-12 18:38:34 +00:00
2014-10-27 19:28:20 +00:00
2013-03-06 23:30:19 +00:00
2013-08-24 21:31:37 +00:00
2011-10-17 20:05:10 +00:00
2014-12-08 14:50:21 +00:00
2015-01-21 02:51:17 +00:00
2015-01-09 17:03:36 +00:00
2013-08-12 18:38:34 +00:00
2014-04-03 09:12:38 +00:00
2014-08-10 23:53:08 +00:00
2014-08-10 23:53:08 +00:00
2015-01-06 19:20:49 +00:00
2014-08-12 00:06:58 +00:00
2014-11-14 18:28:36 +00:00