Why do we generate a warning when we compare two pointers declared as safe? I understand why we do that when such beast gets used as condition (i.e. implicitly compare with NULL), but what's wrong with int foo(void __safe *p, void __safe *q) { return p == q; } What did you want that check in evaluate_compare() to catch? Is that about warning on explicit comparison with NULL? Al, crawling through evaluate.c and fixing odd cases in typechecking... - To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html