From: jbess Date: Tue, 6 Mar 2001 21:01:21 +0000 (+0000) Subject: Workaround ds390 array/ptr size calculation X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=5933cbed9f3bd7b4c5dbbb689b2d0e17a51b2adb;p=fw%2Fsdcc Workaround ds390 array/ptr size calculation git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@674 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/src/SDCCicode.c b/src/SDCCicode.c index 1fd75b11..2e709457 100644 --- a/src/SDCCicode.c +++ b/src/SDCCicode.c @@ -1861,7 +1861,7 @@ geniCodeSubtract (operand * left, operand * right) { isarray = left->isaddr; right = geniCodeMultiply (right, - operandFromLit (getSize (ltype->next)), (getArraySizePtr(left) == INTSIZE)); + operandFromLit (getSize (ltype->next)), (getArraySizePtr(left) >= INTSIZE)); resType = copyLinkChain (IS_ARRAY (ltype) ? ltype->next : ltype); } else @@ -1912,7 +1912,7 @@ geniCodeAdd (operand * left, operand * right) { isarray = left->isaddr; size = operandFromLit (getSize (ltype->next)); - right = geniCodeMultiply (right, size, (getArraySizePtr(left) == INTSIZE)); + right = geniCodeMultiply (right, size, (getArraySizePtr(left) >= INTSIZE)); resType = copyLinkChain (ltype); } else @@ -2020,7 +2020,7 @@ geniCodeArray (operand * left, operand * right) } right = geniCodeMultiply (right, - operandFromLit (getSize (ltype->next)), (getArraySizePtr(left) == INTSIZE)); + operandFromLit (getSize (ltype->next)), (getArraySizePtr(left) >= INTSIZE)); /* we can check for limits here */ if (isOperandLiteral (right) &&