[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.61.0702091330380.31955@yvahk01.tjqt.qr>
Date: Fri, 9 Feb 2007 13:34:41 +0100 (MET)
From: Jan Engelhardt <jengelh@...ux01.gwdg.de>
To: Linus Torvalds <torvalds@...ux-foundation.org>
cc: David Rientjes <rientjes@...gle.com>,
Jeff Garzik <jeff@...zik.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: somebody dropped a (warning) bomb
On Feb 8 2007 16:42, Linus Torvalds wrote:
>
>Most C types don't, and some you can't even tell (do pointers generate
>"signed" or "unsigned" comparisons?
I'd say "neither", because both
signed void *ptr; and
unsigned void *xyz;
are impossible (and dull at that). That's why you explicitly will
have to cast one operand in a comparison to make it evident
what sort of comparison is intended, i.e.
if((unsigned long)ptr < PAGE_OFFSET)
Further, giving again answer to the question whether they generate signed or
unsigned comparisons: Have you ever seen a computer which addresses memory with
negative numbers? Since the answer is most likely no, signed comparisons would
not make sense for me.
> I'll argue that a compiler that
>generates signed comparisons for them is broken, but it tends to be
>something you can only see with a standards- conforming proghram if you
>can allocate memory across the sign boundary, which may or may not be
>true..)
Jan
--
ft: http://freshmeat.net/p/chaostables/
-
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