From 888fbf385073594b55adbfa8f3e834e4cef0f777 Mon Sep 17 00:00:00 2001 From: kvigor Date: Thu, 25 Jan 2001 21:45:44 +0000 Subject: [PATCH] Shift integer promotion behavior is controlled by -ansiint option git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@536 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- src/SDCCicode.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/SDCCicode.c b/src/SDCCicode.c index 2a8b24d0..047c4014 100644 --- a/src/SDCCicode.c +++ b/src/SDCCicode.c @@ -2244,8 +2244,11 @@ operand *geniCodeLeftShift (operand *left, operand *right) /* Note that we don't use the usual binary conversions for the * shift operations, in accordance with our ANSI friends. */ - right = usualUnaryConversions(right); - left = usualUnaryConversions(left); + if (options.ANSIint) + { + right = usualUnaryConversions(right); + left = usualUnaryConversions(left); + } ic = newiCode(LEFT_OP,left,right); IC_RESULT(ic) = newiTempOperand(operandType(left),0); @@ -2263,8 +2266,11 @@ operand *geniCodeRightShift (operand *left, operand *right) /* Note that we don't use the usual binary conversions for the * shift operations, in accordance with our ANSI friends. */ - right = usualUnaryConversions(right); - left = usualUnaryConversions(left); + if (options.ANSIint) + { + right = usualUnaryConversions(right); + left = usualUnaryConversions(left); + } ic = newiCode(RIGHT_OP,left,right); IC_RESULT(ic) = newiTempOperand(operandType(left),0); -- 2.39.5