From: Jim Meyering Date: Wed, 7 Jan 2015 03:25:48 +0000 (-0800) Subject: folly/Bits.h (BitIterator): avoid -Wsign-compare error X-Git-Tag: v0.22.0~9 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=0a9f6eefe125672a5978333c85acc865746841da;p=folly.git folly/Bits.h (BitIterator): avoid -Wsign-compare error Summary: * folly/Bits.h (BitIterator) [bitOffset_]: Change type of this member from ssize_t to "unsigned int". (bitsPerBlock): Change return type from size_t to "unsigned int". These changes avoid some -Wsign-compare-highlighted issues, e.g., folly/Bits.h:456:18: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] 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 I've also run "fbmake runtests", and it failed precisely the way it does without this patch. Reviewed By: andrei.alexandrescu@fb.com Subscribers: trunkagent, net-systems@, folly-diffs@ FB internal diff: D1770613 Tasks: 5941250 Signature: t1:1770613:1420757397:7ee7e5de500c8991af2597a6245d12d8f286b4b7 --- diff --git a/folly/Bits.h b/folly/Bits.h index b22b8d57..6d8b06c2 100644 --- a/folly/Bits.h +++ b/folly/Bits.h @@ -436,7 +436,7 @@ class BitIterator /** * Return the number of bits in an element of the underlying iterator. */ - static size_t bitsPerBlock() { + static unsigned int bitsPerBlock() { return std::numeric_limits< typename std::make_unsigned< typename std::iterator_traits::value_type @@ -525,7 +525,7 @@ class BitIterator (other.bitOffset_ - bitOffset_); } - ssize_t bitOffset_; + unsigned int bitOffset_; }; /**