Re: somebody dropped a (warning) bomb

Jan Engelhardt
2007-02-09T12:37:27Z

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/