Message <Context> the unsigned expression "<expr>" is being compared with an equality operator to a constant whose value is negative. This might not be what you intended. Description An unsigned value and a signed constant whose value is negative are being compared for equality. Logically, these value would never be equal. But in C the negative constant value is converted to an unsigned value before the comparison, and may well compare equal. User Action Cast (or otherwise rewrite) one of the operands of the compare to match the signedness of the other operand.