There are some legitimate uses of !x & y which are actually of the form !x & !y, where x and y are function calls. That is a not particularly elegant way of getting both x and y to be evaluated and then combining the results using "and". If such code is considered acceptable, then perhaps the sparse patch should be more complicated. julia > Al's patch is: > > + if (op == '&' && expr->left->type == EXPR_PREOP && > + expr->left->op == '!') > + warning(expr->pos, "dubious: !x & y"); > > i think there might be similar patterns: "x & !y", "!x | y", "x | !y" ? > > Ingo > -- 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