diff --git a/llvm/include/llvm/ADT/STLExtras.h b/llvm/include/llvm/ADT/STLExtras.h --- a/llvm/include/llvm/ADT/STLExtras.h +++ b/llvm/include/llvm/ADT/STLExtras.h @@ -1363,7 +1363,7 @@ // but that would be stdlib dependent. typedef typename std::iterator_traits::difference_type difference_type; - for (auto size = last - first; size > 1; ++first, (void)--size) { + for (auto size = last - first; size > 1; --size, ++first) { difference_type offset = g() % size; // Avoid self-assignment due to incorrect assertions in libstdc++ // containers (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85828).