On Wed, Jun 27, 2007 at 07:50:18AM -0700, Josh Triplett wrote: > On Wed, 2007-06-27 at 14:18 +0100, Al Viro wrote: > > --- a/expand.c > > +++ b/expand.c > [...] > > @@ -488,12 +490,15 @@ static int expand_conditional(struct expression *expr) > > > > cond_cost = expand_expression(cond); > > if (cond->type == EXPR_VALUE) { > > + unsigned flags = expr->flags; > > if (!cond->value) > > true = false; > > if (!true) > > true = cond; > > + cost = expand_expression(*true); > > *expr = *true; > > - return expand_expression(expr); > > + expr->flags = flags; > > + return cost; > > This passes an incorrect type to expand_expression; it wants a struct > expression *, but *true has type struct expression; did you want to pass > true rather than *true? Gah... Yes, of course. Sorry about that... - 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