Re: [patch 1/6] x86: apicdef unification: some constants made unsigned
From: H. Peter Anvin
Date: Mon Nov 12 2007 - 13:05:28 EST
Maciej W. Rozycki wrote:
On Tue, 6 Nov 2007, Robert Richter wrote:
-#define GET_APIC_VERSION(x) ((x)&0xFF)
-#define GET_APIC_MAXLVT(x) (((x)>>16)&0xFF)
-#define APIC_INTEGRATED(x) ((x)&0xF0)
+#define GET_APIC_VERSION(x) ((x)&0xFFu)
+#define GET_APIC_MAXLVT(x) (((x)>>16)&0xFFu)
+#define APIC_INTEGRATED(x) ((x)&0xF0u)
No point in doing this -- hexadecimal literals are unsigned by
definition. File a compiler bug if you see them interpreted otherwise.
Not unless they have to be (see C99 if you don't believe me... on a
I32LP64 system for example, 0x7fffffff is signed int, 0x80000000 is
unsigned int, 0x100000000 is signed long).
What is this supposed to solve in the first place?
-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/