From: cuz Date: Tue, 29 Jun 2004 20:48:35 +0000 (+0000) Subject: Fixed a bug X-Git-Tag: V2.12.0~692 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=76e31df5f83b23e56afca6493f95f5460b2d5822;p=cc65 Fixed a bug git-svn-id: svn://svn.cc65.org/cc65/trunk@3140 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/src/cc65/shiftexpr.c b/src/cc65/shiftexpr.c index 9e41109f7..f7b680ed9 100644 --- a/src/cc65/shiftexpr.c +++ b/src/cc65/shiftexpr.c @@ -162,13 +162,13 @@ void ShiftExpr (struct ExprDesc* Expr) goto Next; } - /* If we're shifting an integer or unsigned to the right, the + /* If we're shifting an integer or unsigned to the left, the * lhs has a const address, and the shift count is larger than 8, * we can load just the high byte as a char with the correct * signedness, and reduce the shift count by 8. If the remaining * shift count is zero, we're done. */ - if (Tok == TOK_SHR && + if (Tok == TOK_SHL && IsTypeInt (Expr->Type) && ED_IsLVal (Expr) && (ED_IsLocConst (Expr) || ED_IsLocStack (Expr)) &&