Changed __config to react to all of clang's currently documented has_feature flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113086 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/valarray b/include/valarray
index 1fcee5c..2cac733 100644
--- a/include/valarray
+++ b/include/valarray
@@ -795,10 +795,10 @@
valarray(const value_type& __x, size_t __n);
valarray(const value_type* __p, size_t __n);
valarray(const valarray& __v);
-#ifdef _LIBCPP_MOVE
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
valarray(valarray&& __v);
valarray(initializer_list<value_type> __il);
-#endif // _LIBCPP_MOVE
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
valarray(const slice_array<value_type>& __sa);
valarray(const gslice_array<value_type>& __ga);
valarray(const mask_array<value_type>& __ma);
@@ -807,10 +807,10 @@
// assignment:
valarray& operator=(const valarray& __v);
-#ifdef _LIBCPP_MOVE
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
valarray& operator=(valarray&& __v);
valarray& operator=(initializer_list<value_type>);
-#endif // _LIBCPP_MOVE
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
valarray& operator=(const value_type& __x);
valarray& operator=(const slice_array<value_type>& __sa);
valarray& operator=(const gslice_array<value_type>& __ga);
@@ -829,22 +829,22 @@
slice_array<value_type> operator[](slice __s);
__val_expr<__indirect_expr<const valarray&> > operator[](const gslice& __gs) const;
gslice_array<value_type> operator[](const gslice& __gs);
-#ifdef _LIBCPP_MOVE
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
__val_expr<__indirect_expr<const valarray&> > operator[](gslice&& __gs) const;
gslice_array<value_type> operator[](gslice&& __gs);
-#endif // _LIBCPP_MOVE
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
__val_expr<__mask_expr<const valarray&> > operator[](const valarray<bool>& __vb) const;
mask_array<value_type> operator[](const valarray<bool>& __vb);
-#ifdef _LIBCPP_MOVE
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
__val_expr<__mask_expr<const valarray&> > operator[](valarray<bool>&& __vb) const;
mask_array<value_type> operator[](valarray<bool>&& __vb);
-#endif // _LIBCPP_MOVE
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
__val_expr<__indirect_expr<const valarray&> > operator[](const valarray<size_t>& __vs) const;
indirect_array<value_type> operator[](const valarray<size_t>& __vs);
-#ifdef _LIBCPP_MOVE
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
__val_expr<__indirect_expr<const valarray&> > operator[](valarray<size_t>&& __vs) const;
indirect_array<value_type> operator[](valarray<size_t>&& __vs);
-#endif // _LIBCPP_MOVE
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
// unary operators:
valarray operator+() const;
@@ -1395,7 +1395,7 @@
__stride_(__stride)
{__init(__start);}
-#ifdef _LIBCPP_MOVE
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_ALWAYS_INLINE
gslice(size_t __start, const valarray<size_t>& __size,
@@ -1418,7 +1418,7 @@
__stride_(move(__stride))
{__init(__start);}
-#endif // _LIBCPP_MOVE
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
// gslice(const gslice&) = default;
// gslice(gslice&&) = default;
@@ -1559,7 +1559,7 @@
__1d_(__gs.__1d_)
{}
-#ifdef _LIBCPP_MOVE
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_ALWAYS_INLINE
gslice_array(gslice&& __gs, const valarray<value_type>& __v)
@@ -1567,7 +1567,7 @@
__1d_(move(__gs.__1d_))
{}
-#endif // _LIBCPP_MOVE
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class> friend class valarray;
};
@@ -2232,7 +2232,7 @@
__1d_(__ia)
{}
-#ifdef _LIBCPP_MOVE
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_ALWAYS_INLINE
indirect_array(valarray<size_t>&& __ia, const valarray<value_type>& __v)
@@ -2240,7 +2240,7 @@
__1d_(move(__ia))
{}
-#endif // _LIBCPP_MOVE
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class> friend class valarray;
};
@@ -2450,14 +2450,14 @@
__1d_(__ia)
{}
-#ifdef _LIBCPP_MOVE
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
__indirect_expr(valarray<size_t>&& __ia, const _RmExpr& __e)
: __expr_(__e),
__1d_(move(__ia))
{}
-#endif // _LIBCPP_MOVE
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
public:
_LIBCPP_ALWAYS_INLINE
@@ -2691,7 +2691,7 @@
}
}
-#ifdef _LIBCPP_MOVE
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
inline _LIBCPP_ALWAYS_INLINE
@@ -2728,7 +2728,7 @@
}
}
-#endif // _LIBCPP_MOVE
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
valarray<_Tp>::valarray(const slice_array<value_type>& __sa)
@@ -2863,7 +2863,7 @@
return *this;
}
-#ifdef _LIBCPP_MOVE
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
inline _LIBCPP_ALWAYS_INLINE
@@ -2889,7 +2889,7 @@
return *this;
}
-#endif // _LIBCPP_MOVE
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
inline _LIBCPP_ALWAYS_INLINE
@@ -2986,7 +2986,7 @@
return gslice_array<value_type>(__gs, *this);
}
-#ifdef _LIBCPP_MOVE
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
inline _LIBCPP_ALWAYS_INLINE
@@ -3004,7 +3004,7 @@
return gslice_array<value_type>(move(__gs), *this);
}
-#endif // _LIBCPP_MOVE
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
inline _LIBCPP_ALWAYS_INLINE
@@ -3022,7 +3022,7 @@
return mask_array<value_type>(__vb, *this);
}
-#ifdef _LIBCPP_MOVE
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
inline _LIBCPP_ALWAYS_INLINE
@@ -3040,7 +3040,7 @@
return mask_array<value_type>(move(__vb), *this);
}
-#endif // _LIBCPP_MOVE
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
inline _LIBCPP_ALWAYS_INLINE
@@ -3058,7 +3058,7 @@
return indirect_array<value_type>(__vs, *this);
}
-#ifdef _LIBCPP_MOVE
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
inline _LIBCPP_ALWAYS_INLINE
@@ -3076,7 +3076,7 @@
return indirect_array<value_type>(move(__vs), *this);
}
-#endif // _LIBCPP_MOVE
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
valarray<_Tp>