On Mon, Jun 16, 2014 at 10:40:19AM +0300, Dan Carpenter wrote: > On Sun, Jun 15, 2014 at 09:32:27PM +0200, Sam Ravnborg wrote: > > diff --git a/expand.c b/expand.c > > index 0f6720c..4a96de4 100644 > > --- a/expand.c > > +++ b/expand.c > > @@ -187,7 +187,7 @@ static int simplify_int_binop(struct expression *expr, struct symbol *ctype) > > return 0; > > r = right->value; > > if (expr->op == SPECIAL_LEFTSHIFT || expr->op == SPECIAL_RIGHTSHIFT) { > > - if (r >= ctype->bit_size) { > > + if (expr->flags & Int_const_expr && r >= ctype->bit_size) { > > Thanks! I had no idea how to start writing a fix for this, but the test > should be: > if (expr->right->flags & Int_const_expr > > Otherwise both sides of the shift have to be const. Thanks - will fix. I will update the test case to check for this, and then send a proper patch. Sam -- 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