visibility-decoration.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114470 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/__tuple b/include/__tuple
index 7426ed3..7fa7414 100644
--- a/include/__tuple
+++ b/include/__tuple
@@ -25,12 +25,12 @@
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
-template <class _Tp> class tuple_size;
-template <size_t _Ip, class _Tp> class tuple_element;
+template <class _Tp> class _LIBCPP_VISIBLE tuple_size;
+template <size_t _Ip, class _Tp> class _LIBCPP_VISIBLE tuple_element;
 
-template <class ..._Tp> class tuple;
-template <class _T1, class _T2> class pair;
-template <class _Tp, size_t _Size> struct array;
+template <class ..._Tp> class _LIBCPP_VISIBLE tuple;
+template <class _T1, class _T2> class _LIBCPP_VISIBLE pair;
+template <class _Tp, size_t _Size> struct _LIBCPP_VISIBLE array;
 
 template <class _Tp> struct __tuple_like : false_type {};
 
@@ -96,7 +96,7 @@
 template <class ..._Tp> struct __tuple_types {};
 
 template <size_t _Ip>
-class tuple_element<_Ip, __tuple_types<>>
+class _LIBCPP_VISIBLE tuple_element<_Ip, __tuple_types<>>
 {
 public:
     static_assert(_Ip == 0, "tuple_element index out of range");
@@ -104,21 +104,21 @@
 };
 
 template <class _Hp, class ..._Tp>
-class tuple_element<0, __tuple_types<_Hp, _Tp...>>
+class _LIBCPP_VISIBLE tuple_element<0, __tuple_types<_Hp, _Tp...>>
 {
 public:
     typedef _Hp type;
 };
 
 template <size_t _Ip, class _Hp, class ..._Tp>
-class tuple_element<_Ip, __tuple_types<_Hp, _Tp...>>
+class _LIBCPP_VISIBLE tuple_element<_Ip, __tuple_types<_Hp, _Tp...>>
 {
 public:
     typedef typename tuple_element<_Ip-1, __tuple_types<_Tp...>>::type type;
 };
 
 template <class ..._Tp>
-class tuple_size<__tuple_types<_Tp...>>
+class _LIBCPP_VISIBLE tuple_size<__tuple_types<_Tp...>>
     : public integral_constant<size_t, sizeof...(_Tp)>
 {
 };