Nico Rieck: this patch series fixes visibility issues on Windows as explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188192 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/forward_list b/include/forward_list index 88bf75f..a524f2c 100644 --- a/include/forward_list +++ b/include/forward_list
@@ -212,11 +212,11 @@ value_type __value_; }; -template<class _Tp, class _Alloc> class _LIBCPP_TYPE_VIS forward_list; -template<class _NodeConstPtr> class _LIBCPP_TYPE_VIS __forward_list_const_iterator; +template<class _Tp, class _Alloc> class _LIBCPP_TYPE_VIS_ONLY forward_list; +template<class _NodeConstPtr> class _LIBCPP_TYPE_VIS_ONLY __forward_list_const_iterator; template <class _NodePtr> -class _LIBCPP_TYPE_VIS __forward_list_iterator +class _LIBCPP_TYPE_VIS_ONLY __forward_list_iterator { typedef _NodePtr __node_pointer; @@ -225,8 +225,8 @@ _LIBCPP_INLINE_VISIBILITY explicit __forward_list_iterator(__node_pointer __p) _NOEXCEPT : __ptr_(__p) {} - template<class, class> friend class _LIBCPP_TYPE_VIS forward_list; - template<class> friend class _LIBCPP_TYPE_VIS __forward_list_const_iterator; + template<class, class> friend class _LIBCPP_TYPE_VIS_ONLY forward_list; + template<class> friend class _LIBCPP_TYPE_VIS_ONLY __forward_list_const_iterator; public: typedef forward_iterator_tag iterator_category; @@ -276,7 +276,7 @@ }; template <class _NodeConstPtr> -class _LIBCPP_TYPE_VIS __forward_list_const_iterator +class _LIBCPP_TYPE_VIS_ONLY __forward_list_const_iterator { typedef _NodeConstPtr __node_const_pointer; @@ -542,7 +542,7 @@ } template <class _Tp, class _Alloc = allocator<_Tp> > -class _LIBCPP_TYPE_VIS forward_list +class _LIBCPP_TYPE_VIS_ONLY forward_list : private __forward_list_base<_Tp, _Alloc> { typedef __forward_list_base<_Tp, _Alloc> base;