bitcoin/bitcoin — pull request #4824 by ENikS (2014-09-02 22:20:04+00:00)
Title: Compiler Warning C4018 'expression' : signed/unsigned mismatch

By default enum is a signed integer. It creates signed/unsigned mismatch mismatch if used in expression like this:
return ((nStatus & BLOCK_VALID_MASK) >= nUpTo); --(Main.h - line 737)

To avoid this condition making enum smallest unsigned type to hold all values 0 - 96 which is unsigned char.
For more info please see this: http://msdn.microsoft.com/en-us/library/y92ktdf2.aspx