[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080827221711.GE28946@ZenIV.linux.org.uk>
Date: Wed, 27 Aug 2008 23:17:11 +0100
From: Al Viro <viro@...IV.linux.org.uk>
To: "H. Peter Anvin" <hpa@...or.com>
Cc: Roland Dreier <rdreier@...co.com>, linux-kernel@...r.kernel.org
Subject: Re: C language lawyers needed
On Wed, Aug 27, 2008 at 03:00:01PM -0700, H. Peter Anvin wrote:
> Looks like a gcc bug to me.
>
> 0xff000000 is unsigned, like any hexadecimal constant.
Not any. Ones that do not fit into range of int but do fit into the range
of unsigned are.
Really, folks, it's not _that_ hard:
Type sequence: int, unsigned int, long, unsigned long, long long,
unsigned long long.
With U suffix => don't bother with signed types
Without U suffix, decimal => don't bother with _un_signed types
With L suffix => don't bother with anything earlier than long
With LL suffix => don't bother with anything earlier than long long
Pick the first type that covers your value; that will be it.
In particular, 0x[0-9A-Fa-f]+ == try *everything*.
--
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