Fix code that would trip -Wtype-limits
This patch fixes up all code that would throw a -Wtype-limits warning. This sometimes involves eliminating unnecessary checks, adding a few odd but harmless casts or just pragma'ing out the warning for a whole file -- I tried to find the path of least resistance. I think the overall benefit of the warning outweighs the occasional weirdness. Change-Id: Iacd37eb1fad388d9db7267ceccb03e6dcf1ad0d2 Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/32537 Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
committed by
Patrick Georgi
parent
9d3fa7a229
commit
7c712bbb6c
@ -56,8 +56,10 @@ static int number(void (*tx_byte)(unsigned char byte, void *data),
|
||||
int count = 0;
|
||||
#ifdef SUPPORT_64BIT_INTS
|
||||
unsigned long long num = inum;
|
||||
long long snum = num;
|
||||
#else
|
||||
unsigned long num = (long)inum;
|
||||
unsigned long num = (unsigned long)inum;
|
||||
long snum = (long)num;
|
||||
|
||||
if (num != inum) {
|
||||
/* Alert user to an incorrect result by printing #^!. */
|
||||
@ -76,9 +78,9 @@ static int number(void (*tx_byte)(unsigned char byte, void *data),
|
||||
c = (type & ZEROPAD) ? '0' : ' ';
|
||||
sign = 0;
|
||||
if (type & SIGN) {
|
||||
if ((signed long long)num < 0) {
|
||||
if (snum < 0) {
|
||||
sign = '-';
|
||||
num = -num;
|
||||
num = -snum;
|
||||
size--;
|
||||
} else if (type & PLUS) {
|
||||
sign = '+';
|
||||
|
Reference in New Issue
Block a user