From f0544c2086a1a592e294f24d62973ce732af33da Mon Sep 17 00:00:00 2001 From: Howard Hinnant Date: Mon, 12 Aug 2013 18:38:34 +0000 Subject: Nico Rieck: this patch series fixes visibility issues on Windows as explained in . llvm-svn: 188192 --- libcxx/include/ext/__hash | 6 +++--- libcxx/include/ext/hash_map | 26 +++++++++++++------------- libcxx/include/ext/hash_set | 4 ++-- 3 files changed, 18 insertions(+), 18 deletions(-) (limited to 'libcxx/include/ext') diff --git a/libcxx/include/ext/__hash b/libcxx/include/ext/__hash index f6ecfe3605c..04975bfd052 100644 --- a/libcxx/include/ext/__hash +++ b/libcxx/include/ext/__hash @@ -19,10 +19,10 @@ namespace __gnu_cxx { using namespace std; -template struct _LIBCPP_TYPE_VIS hash : public std::hash +template struct _LIBCPP_TYPE_VIS_ONLY hash : public std::hash { }; -template <> struct _LIBCPP_TYPE_VIS hash +template <> struct _LIBCPP_TYPE_VIS_ONLY hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -32,7 +32,7 @@ template <> struct _LIBCPP_TYPE_VIS hash } }; -template <> struct _LIBCPP_TYPE_VIS hash +template <> struct _LIBCPP_TYPE_VIS_ONLY hash : public unary_function { _LIBCPP_INLINE_VISIBILITY diff --git a/libcxx/include/ext/hash_map b/libcxx/include/ext/hash_map index a6fe894e4d9..3e474b02e7d 100644 --- a/libcxx/include/ext/hash_map +++ b/libcxx/include/ext/hash_map @@ -361,7 +361,7 @@ public: }; template -class _LIBCPP_TYPE_VIS __hash_map_iterator +class _LIBCPP_TYPE_VIS_ONLY __hash_map_iterator { _HashIterator __i_; @@ -404,15 +404,15 @@ public: bool operator!=(const __hash_map_iterator& __x, const __hash_map_iterator& __y) {return __x.__i_ != __y.__i_;} - template friend class _LIBCPP_TYPE_VIS hash_map; - template friend class _LIBCPP_TYPE_VIS hash_multimap; - template friend class _LIBCPP_TYPE_VIS __hash_const_iterator; - template friend class _LIBCPP_TYPE_VIS __hash_const_local_iterator; - template friend class _LIBCPP_TYPE_VIS __hash_map_const_iterator; + template friend class _LIBCPP_TYPE_VIS_ONLY hash_map; + template friend class _LIBCPP_TYPE_VIS_ONLY hash_multimap; + template friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator; + template friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_local_iterator; + template friend class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator; }; template -class _LIBCPP_TYPE_VIS __hash_map_const_iterator +class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator { _HashIterator __i_; @@ -463,15 +463,15 @@ public: bool operator!=(const __hash_map_const_iterator& __x, const __hash_map_const_iterator& __y) {return __x.__i_ != __y.__i_;} - template friend class _LIBCPP_TYPE_VIS hash_map; - template friend class _LIBCPP_TYPE_VIS hash_multimap; - template friend class _LIBCPP_TYPE_VIS __hash_const_iterator; - template friend class _LIBCPP_TYPE_VIS __hash_const_local_iterator; + template friend class _LIBCPP_TYPE_VIS_ONLY hash_map; + template friend class _LIBCPP_TYPE_VIS_ONLY hash_multimap; + template friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator; + template friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_local_iterator; }; template , class _Pred = equal_to<_Key>, class _Alloc = allocator > > -class _LIBCPP_TYPE_VIS hash_map +class _LIBCPP_TYPE_VIS_ONLY hash_map { public: // types @@ -750,7 +750,7 @@ operator!=(const hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, template , class _Pred = equal_to<_Key>, class _Alloc = allocator > > -class _LIBCPP_TYPE_VIS hash_multimap +class _LIBCPP_TYPE_VIS_ONLY hash_multimap { public: // types diff --git a/libcxx/include/ext/hash_set b/libcxx/include/ext/hash_set index 52bbeee13c3..deffcb61b06 100644 --- a/libcxx/include/ext/hash_set +++ b/libcxx/include/ext/hash_set @@ -208,7 +208,7 @@ using namespace std; template , class _Pred = equal_to<_Value>, class _Alloc = allocator<_Value> > -class _LIBCPP_TYPE_VIS hash_set +class _LIBCPP_TYPE_VIS_ONLY hash_set { public: // types @@ -429,7 +429,7 @@ operator!=(const hash_set<_Value, _Hash, _Pred, _Alloc>& __x, template , class _Pred = equal_to<_Value>, class _Alloc = allocator<_Value> > -class _LIBCPP_TYPE_VIS hash_multiset +class _LIBCPP_TYPE_VIS_ONLY hash_multiset { public: // types -- cgit v1.2.3