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
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to