Messages in this thread | | | Date | Mon, 12 Nov 2007 09:58:32 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [patch 1/6] x86: apicdef unification: some constants made unsigned |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |