Messages in this thread | | | Date | Fri, 9 Feb 2007 13:34:41 +0100 (MET) | From | Jan Engelhardt <> | 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |