No functionality change at this time.  I've split _LIBCPP_VISIBLE up into two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS.  This is in preparation for taking advantage of clang's new __type_visibility__ attribute.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@176593 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/random b/include/random
index 04d942b..92722ea 100644
--- a/include/random
+++ b/include/random
@@ -1813,7 +1813,7 @@
 };
 
 template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
-class _LIBCPP_VISIBLE linear_congruential_engine;
+class _LIBCPP_TYPE_VIS linear_congruential_engine;
 
 template <class _CharT, class _Traits,
           class _Up, _Up _Ap, _Up _Cp, _Up _Np>
@@ -1829,7 +1829,7 @@
            linear_congruential_engine<_Up, _Ap, _Cp, _Np>& __x);
 
 template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
-class _LIBCPP_VISIBLE linear_congruential_engine
+class _LIBCPP_TYPE_VIS linear_congruential_engine
 {
 public:
     // types
@@ -2038,7 +2038,7 @@
 template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
           _UIntType __a, size_t __u, _UIntType __d, size_t __s,
           _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-class _LIBCPP_VISIBLE mersenne_twister_engine;
+class _LIBCPP_TYPE_VIS mersenne_twister_engine;
 
 template <class _UI, size_t _Wp, size_t _Np, size_t _Mp, size_t _Rp,
           _UI _Ap, size_t _Up, _UI _Dp, size_t _Sp,
@@ -2080,7 +2080,7 @@
 template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
           _UIntType __a, size_t __u, _UIntType __d, size_t __s,
           _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-class _LIBCPP_VISIBLE mersenne_twister_engine
+class _LIBCPP_TYPE_VIS mersenne_twister_engine
 {
 public:
     // types
@@ -2526,7 +2526,7 @@
 // subtract_with_carry_engine
 
 template<class _UIntType, size_t __w, size_t __s, size_t __r>
-class _LIBCPP_VISIBLE subtract_with_carry_engine;
+class _LIBCPP_TYPE_VIS subtract_with_carry_engine;
 
 template<class _UI, size_t _Wp, size_t _Sp, size_t _Rp>
 bool
@@ -2554,7 +2554,7 @@
            subtract_with_carry_engine<_UI, _Wp, _Sp, _Rp>& __x);
 
 template<class _UIntType, size_t __w, size_t __s, size_t __r>
-class _LIBCPP_VISIBLE subtract_with_carry_engine
+class _LIBCPP_TYPE_VIS subtract_with_carry_engine
 {
 public:
     // types
@@ -2837,7 +2837,7 @@
 // discard_block_engine
 
 template<class _Engine, size_t __p, size_t __r>
-class _LIBCPP_VISIBLE discard_block_engine
+class _LIBCPP_TYPE_VIS discard_block_engine
 {
     _Engine __e_;
     int     __n_;
@@ -3010,7 +3010,7 @@
 // independent_bits_engine
 
 template<class _Engine, size_t __w, class _UIntType>
-class _LIBCPP_VISIBLE independent_bits_engine
+class _LIBCPP_TYPE_VIS independent_bits_engine
 {
     template <class _UI, _UI _R0, size_t _Wp, size_t _Mp>
     class __get_n
@@ -3273,7 +3273,7 @@
 };
 
 template<class _Engine, size_t __k>
-class _LIBCPP_VISIBLE shuffle_order_engine
+class _LIBCPP_TYPE_VIS shuffle_order_engine
 {
     static_assert(0 < __k, "shuffle_order_engine invalid parameters");
 public:
@@ -3500,7 +3500,7 @@
 
 // random_device
 
-class _LIBCPP_VISIBLE random_device
+class _LIBCPP_TYPE_VIS random_device
 {
     int __f_;
 public:
@@ -3534,7 +3534,7 @@
 
 // seed_seq
 
-class _LIBCPP_VISIBLE seed_seq
+class _LIBCPP_TYPE_VIS seed_seq
 {
 public:
     // types
@@ -3711,13 +3711,13 @@
 // uniform_real_distribution
 
 template<class _RealType = double>
-class _LIBCPP_VISIBLE uniform_real_distribution
+class _LIBCPP_TYPE_VIS uniform_real_distribution
 {
 public:
     // types
     typedef _RealType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         result_type __a_;
         result_type __b_;
@@ -3832,13 +3832,13 @@
 
 // bernoulli_distribution
 
-class _LIBCPP_VISIBLE bernoulli_distribution
+class _LIBCPP_TYPE_VIS bernoulli_distribution
 {
 public:
     // types
     typedef bool result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         double __p_;
     public:
@@ -3941,13 +3941,13 @@
 // binomial_distribution
 
 template<class _IntType = int>
-class _LIBCPP_VISIBLE binomial_distribution
+class _LIBCPP_TYPE_VIS binomial_distribution
 {
 public:
     // types
     typedef _IntType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         result_type __t_;
         double __p_;
@@ -4106,13 +4106,13 @@
 // exponential_distribution
 
 template<class _RealType = double>
-class _LIBCPP_VISIBLE exponential_distribution
+class _LIBCPP_TYPE_VIS exponential_distribution
 {
 public:
     // types
     typedef _RealType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         result_type __lambda_;
     public:
@@ -4221,13 +4221,13 @@
 // normal_distribution
 
 template<class _RealType = double>
-class _LIBCPP_VISIBLE normal_distribution
+class _LIBCPP_TYPE_VIS normal_distribution
 {
 public:
     // types
     typedef _RealType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         result_type __mean_;
         result_type __stddev_;
@@ -4389,13 +4389,13 @@
 // lognormal_distribution
 
 template<class _RealType = double>
-class _LIBCPP_VISIBLE lognormal_distribution
+class _LIBCPP_TYPE_VIS lognormal_distribution
 {
 public:
     // types
     typedef _RealType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         normal_distribution<result_type> __nd_;
     public:
@@ -4514,13 +4514,13 @@
 // poisson_distribution
 
 template<class _IntType = int>
-class _LIBCPP_VISIBLE poisson_distribution
+class _LIBCPP_TYPE_VIS poisson_distribution
 {
 public:
     // types
     typedef _IntType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         double __mean_;
         double __s_;
@@ -4745,13 +4745,13 @@
 // weibull_distribution
 
 template<class _RealType = double>
-class _LIBCPP_VISIBLE weibull_distribution
+class _LIBCPP_TYPE_VIS weibull_distribution
 {
 public:
     // types
     typedef _RealType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         result_type __a_;
         result_type __b_;
@@ -4859,13 +4859,13 @@
 }
 
 template<class _RealType = double>
-class _LIBCPP_VISIBLE extreme_value_distribution
+class _LIBCPP_TYPE_VIS extreme_value_distribution
 {
 public:
     // types
     typedef _RealType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         result_type __a_;
         result_type __b_;
@@ -4980,13 +4980,13 @@
 // gamma_distribution
 
 template<class _RealType = double>
-class _LIBCPP_VISIBLE gamma_distribution
+class _LIBCPP_TYPE_VIS gamma_distribution
 {
 public:
     // types
     typedef _RealType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         result_type __alpha_;
         result_type __beta_;
@@ -5152,13 +5152,13 @@
 // negative_binomial_distribution
 
 template<class _IntType = int>
-class _LIBCPP_VISIBLE negative_binomial_distribution
+class _LIBCPP_TYPE_VIS negative_binomial_distribution
 {
 public:
     // types
     typedef _IntType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         result_type __k_;
         double __p_;
@@ -5287,13 +5287,13 @@
 // geometric_distribution
 
 template<class _IntType = int>
-class _LIBCPP_VISIBLE geometric_distribution
+class _LIBCPP_TYPE_VIS geometric_distribution
 {
 public:
     // types
     typedef _IntType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         double __p_;
     public:
@@ -5389,13 +5389,13 @@
 // chi_squared_distribution
 
 template<class _RealType = double>
-class _LIBCPP_VISIBLE chi_squared_distribution
+class _LIBCPP_TYPE_VIS chi_squared_distribution
 {
 public:
     // types
     typedef _RealType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         result_type __n_;
     public:
@@ -5495,13 +5495,13 @@
 // cauchy_distribution
 
 template<class _RealType = double>
-class _LIBCPP_VISIBLE cauchy_distribution
+class _LIBCPP_TYPE_VIS cauchy_distribution
 {
 public:
     // types
     typedef _RealType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         result_type __a_;
         result_type __b_;
@@ -5618,13 +5618,13 @@
 // fisher_f_distribution
 
 template<class _RealType = double>
-class _LIBCPP_VISIBLE fisher_f_distribution
+class _LIBCPP_TYPE_VIS fisher_f_distribution
 {
 public:
     // types
     typedef _RealType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         result_type __m_;
         result_type __n_;
@@ -5740,13 +5740,13 @@
 // student_t_distribution
 
 template<class _RealType = double>
-class _LIBCPP_VISIBLE student_t_distribution
+class _LIBCPP_TYPE_VIS student_t_distribution
 {
 public:
     // types
     typedef _RealType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         result_type __n_;
     public:
@@ -5853,13 +5853,13 @@
 // discrete_distribution
 
 template<class _IntType = int>
-class _LIBCPP_VISIBLE discrete_distribution
+class _LIBCPP_TYPE_VIS discrete_distribution
 {
 public:
     // types
     typedef _IntType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         vector<double> __p_;
     public:
@@ -6084,13 +6084,13 @@
 // piecewise_constant_distribution
 
 template<class _RealType = double>
-class _LIBCPP_VISIBLE piecewise_constant_distribution
+class _LIBCPP_TYPE_VIS piecewise_constant_distribution
 {
 public:
     // types
     typedef _RealType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         vector<result_type> __b_;
         vector<result_type> __densities_;
@@ -6408,13 +6408,13 @@
 // piecewise_linear_distribution
 
 template<class _RealType = double>
-class _LIBCPP_VISIBLE piecewise_linear_distribution
+class _LIBCPP_TYPE_VIS piecewise_linear_distribution
 {
 public:
     // types
     typedef _RealType result_type;
 
-    class _LIBCPP_VISIBLE param_type
+    class _LIBCPP_TYPE_VIS param_type
     {
         vector<result_type> __b_;
         vector<result_type> __densities_;