Fix PR# 38900 - don't call swap inside of random_shuffle when we'd be swapping an element with itself

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@341975 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/algorithm b/include/algorithm
index ee2a54d..55e1f9f 100644
--- a/include/algorithm
+++ b/include/algorithm
@@ -2987,7 +2987,8 @@
         for (--__last; __first < __last; ++__first, --__d)
         {
             difference_type __i = __rand(__d);
-            swap(*__first, *(__first + __i));
+            if (__i != difference_type(0))
+	            swap(*__first, *(__first + __i));
         }
     }
 }