Messages in this thread | | | Date | Mon, 12 Nov 2007 16:56:14 +0100 | From | "Robert Richter" <> | Subject | Re: [patch 1/6] x86: apicdef unification: some constants made unsigned |
| |
On 12.11.07 12:31:44, Maciej W. Rozycki 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.
My understanding from the c90/c99 standards is that hexadecimal constants may result in signed or unsigned types. Contrarily, decimal constants always result in integer types, if no signed suffix is given.
However, I made this change only to unify 32 and 64 bit implementation and took already existing code from the 64 bit version.
-Robert
-- Advanced Micro Devices, Inc. Operating System Research Center email: robert.richter@amd.com
- 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/
| |