From 7f4d487a0bfb59dca5c110cd9a06421a4fb85549 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Tue, 6 Jan 2015 15:46:38 -0800 Subject: [PATCH] folly/wangle/futures/Future-inl.h: avoid -Wsign-compare errors Summary: * folly/wangle/futures/Future-inl.h (whenAll): Do not compare signed (std::distance) with unsigned(size_t): add an assertion to eliminate the possibility of negative, then assign to a new size_t "n". Test Plan: Run this and note there are fewer errors than before: fbconfig --platform-all=gcc-4.9-glibc-2.20 -r folly && fbmake dbgo Reviewed By: jsedgwick@fb.com Subscribers: trunkagent, fugalh, folly-diffs@ FB internal diff: D1770668 Tasks: 5941250 Signature: t1:1770668:1420736965:fc722657a2ec523052fd96c33d65d5ca24aae61c --- folly/wangle/futures/Future-inl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/folly/wangle/futures/Future-inl.h b/folly/wangle/futures/Future-inl.h index 66cadbcf..61c386ad 100644 --- a/folly/wangle/futures/Future-inl.h +++ b/folly/wangle/futures/Future-inl.h @@ -546,10 +546,10 @@ whenAll(InputIterator first, InputIterator last) typedef typename std::iterator_traits::value_type::value_type T; - auto n = std::distance(first, last); - if (n == 0) { + if (first >= last) { return makeFuture(std::vector>()); } + size_t n = std::distance(first, last); auto ctx = new detail::WhenAllContext(); -- 2.34.1