Avoid tautological compare in folly/experimental/symbolizer/
authorYedidya Feldblum <yfeldblum@fb.com>
Sat, 23 Sep 2017 04:19:34 +0000 (21:19 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Sat, 23 Sep 2017 04:20:10 +0000 (21:20 -0700)
Summary:
[Folly] Avoid tautological compare in `folly/experimental/symbolizer/`.

`x < 0` when `x` is unsigned is tautological and there are warnings against such comparisons. The underlying type of an unscoped enumerations without a fixed underlying type is not specified, and whether it is signed is also not specified; it could be unsigned, and is unsigned in practice in common cases.

Reviewed By: Orvid, eduardo-elizondo

Differential Revision: D5897792

fbshipit-source-id: 24d84f9bf2c61c907585e1b675c2bbf11ef1720b

folly/experimental/symbolizer/Symbolizer.cpp

index 64acdcb72d9c4b3ee953436694291f25b1c13104..adf615f028a21c3f7761bb7d8de1fd4ecf79d9ad 100644 (file)
@@ -249,7 +249,7 @@ void SymbolizePrinter::color(SymbolizePrinter::Color color) {
   if ((options_ & COLOR) == 0 && ((options_ & COLOR_IF_TTY) == 0 || !isTty_)) {
     return;
   }
-  if (color < 0 || color >= kColorMap.size()) {
+  if (static_cast<size_t>(color) >= kColorMap.size()) { // catches underflow too
     return;
   }
   doPrint(kColorMap[color]);