diff options
author | Dan Albert <danalbert@google.com> | 2015-03-04 14:08:24 -0800 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2015-03-12 11:00:36 -0700 |
commit | d4b75d9e1bc9bc849d4bc1b0b167799a6a72c816 (patch) | |
tree | 45875302b6274ffe2f0fc821f4454b6d8304f202 | |
parent | fe851e184372195a106fddfcc81b55b363c6a75b (diff) | |
download | external_libcxx-d4b75d9e1bc9bc849d4bc1b0b167799a6a72c816.tar.gz external_libcxx-d4b75d9e1bc9bc849d4bc1b0b167799a6a72c816.tar.bz2 external_libcxx-d4b75d9e1bc9bc849d4bc1b0b167799a6a72c816.zip |
Revert "Remove several unused forward declarations. Fixes PR22605."
GCC fails to compile the following pattern with this patch:
#include <set>
std::set<int> foo;
#include <map>
using namespace std;
std::map<int, int> bar;
It looks like a GCC bug, but there is some external code that trips
this issue that I'd rather leave unmodified.
This reverts commit 59f573f670a4ff53919fcdfc2f40725723eb2c04.
Bug: 19606303
Change-Id: I72ac5619b3572e03db83850cdaadc4ec618f312e
-rw-r--r-- | include/__hash_table | 2 | ||||
-rw-r--r-- | include/__tree | 8 | ||||
-rw-r--r-- | include/iterator | 4 |
3 files changed, 13 insertions, 1 deletions
diff --git a/include/__hash_table b/include/__hash_table index 71b12b36e..71cf5fbf0 100644 --- a/include/__hash_table +++ b/include/__hash_table @@ -85,6 +85,8 @@ template <class _Tp, class _Hash, class _Equal, class _Alloc> class __hash_table template <class _ConstNodePtr> class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator; template <class _HashIterator> class _LIBCPP_TYPE_VIS_ONLY __hash_map_iterator; template <class _HashIterator> class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator; +template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> + class _LIBCPP_TYPE_VIS_ONLY unordered_map; template <class _NodePtr> class _LIBCPP_TYPE_VIS_ONLY __hash_iterator diff --git a/include/__tree b/include/__tree index 6da2416af..2aa9c1f89 100644 --- a/include/__tree +++ b/include/__tree @@ -28,6 +28,14 @@ template <class _Tp, class _NodePtr, class _DiffType> class _LIBCPP_TYPE_VIS_ONLY __tree_iterator; template <class _Tp, class _ConstNodePtr, class _DiffType> class _LIBCPP_TYPE_VIS_ONLY __tree_const_iterator; +template <class _Key, class _Tp, class _Compare, class _Allocator> + class _LIBCPP_TYPE_VIS_ONLY map; +template <class _Key, class _Tp, class _Compare, class _Allocator> + class _LIBCPP_TYPE_VIS_ONLY multimap; +template <class _Key, class _Compare, class _Allocator> + class _LIBCPP_TYPE_VIS_ONLY set; +template <class _Key, class _Compare, class _Allocator> + class _LIBCPP_TYPE_VIS_ONLY multiset; /* diff --git a/include/iterator b/include/iterator index 04ff4c127..05d7412a4 100644 --- a/include/iterator +++ b/include/iterator @@ -1112,6 +1112,8 @@ typename enable_if >::type __unwrap_iter(__wrap_iter<_Tp*>); +template <class _Tp, class _Alloc> class _LIBCPP_TYPE_VIS_ONLY vector; + template <class _Iter> class __wrap_iter { @@ -1241,7 +1243,7 @@ private: template <class _Up> friend class __wrap_iter; template <class _CharT, class _Traits, class _Alloc> friend class basic_string; - template <class _Tp, class _Alloc> friend class _LIBCPP_TYPE_VIS_ONLY vector; + template <class _Tp, class _Alloc> friend class vector; template <class _Iter1, class _Iter2> friend |