LWG 1432
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119611 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/algorithm b/include/algorithm
index 4f49036..17e20da 100644
--- a/include/algorithm
+++ b/include/algorithm
@@ -256,7 +256,7 @@
template<class RandomAccessIterator, class UniformRandomNumberGenerator>
void shuffle(RandomAccessIterator first, RandomAccessIterator last,
- UniformRandomNumberGenerator& g);
+ UniformRandomNumberGenerator&& g);
template <class InputIterator, class Predicate>
bool
@@ -2717,7 +2717,11 @@
template<class _RandomAccessIterator, class _UniformRandomNumberGenerator>
void shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+ _UniformRandomNumberGenerator&& __g)
+#else
_UniformRandomNumberGenerator& __g)
+#endif
{
typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
typedef uniform_int_distribution<ptrdiff_t> _D;