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
/**
* 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<BaseIter>::value_type
(other.bitOffset_ - bitOffset_);
}
- ssize_t bitOffset_;
+ unsigned int bitOffset_;
};
/**