[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20071112155614.GC18993@erda.amd.com>
Date: Mon, 12 Nov 2007 16:56:14 +0100
From: "Robert Richter" <robert.richter@....com>
To: "Maciej W. Rozycki" <macro@...ux-mips.org>
cc: "Thomas Gleixner" <tglx@...utronix.de>,
"Ingo Molnar" <mingo@...hat.com>, "H. Peter Anvin" <hpa@...or.com>,
"LKML" <linux-kernel@...r.kernel.org>
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@....com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists