Re: [PATCH] time: Fix constant size in kernel/timeconst.h

From: H. Peter Anvin
Date: Sat Feb 09 2008 - 16:34:31 EST


Johann Felix Soden wrote:
From: Johann Felix Soden <johfel@xxxxxxxxxxxxxxxxxxxxx>

kernel/timeconst.pl generates only long sized constants in timeconst.pl
which gives this warning:

kernel/time.c: In function 'msecs_to_jiffies':
kernel/time.c:472: warning: integer constant is too large for 'long' type

unsigned long long is needed.


Hm, you've just taken a warning and elevated it to a bug.

According to the C standard, a constant has the shortest type (>= int) needed to hold the constant, and the warning above is somewhat bogus in that context (what version of gcc is that, anyway?)

ULL is only appropriate to 32-bit machines, or there will be other issues downstream. The Right Way[TM] to do this would be to get Linux to have the [U]INTxx_C() macros from C99.

-hpa

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/