a cleaner way to fix the shift bug
authorjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 19 Feb 2003 12:14:18 +0000 (12:14 +0000)
committerjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 19 Feb 2003 12:14:18 +0000 (12:14 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2285 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/ds390/gen.c
src/mcs51/gen.c

index f4bd67bb95f66b697c4827c4abe2d4ded19f3c25..37147cfab2bedc7a4b9118996a0763171658fecd 100644 (file)
@@ -8548,8 +8548,6 @@ genRightShiftLiteral (operand * left,
        MOVA (aopGet (AOP (left), size - 1, FALSE, FALSE, TRUE));
       }
       addSign (result, LSB, sign);
-      freeAsmop (left, NULL, ic, TRUE);
-      freeAsmop (result, NULL, ic, TRUE);
     }
   else
     {
@@ -8570,11 +8568,11 @@ genRightShiftLiteral (operand * left,
        default:
          break;
        }
-
-      freeAsmop (left, NULL, ic, TRUE);
-      freeAsmop (result, NULL, ic, TRUE);
     }
-    return TRUE;
+  freeAsmop (left, NULL, ic, TRUE);
+  freeAsmop (result, NULL, ic, TRUE);
+  
+  return TRUE;
 }
 #endif
 
index e40b01115a6527f91a74d61bb40456bf4caaec88..1d410138230ae46647dac47c0902361390c652a3 100644 (file)
@@ -6831,8 +6831,6 @@ genRightShiftLiteral (operand * left,
        MOVA (aopGet (AOP (left), size - 1, FALSE, FALSE));
       }
       addSign (result, LSB, sign);
-      freeAsmop (left, NULL, ic, TRUE);
-      freeAsmop (result, NULL, ic, TRUE);
     }
   else
     {
@@ -6852,10 +6850,9 @@ genRightShiftLiteral (operand * left,
        default:
          break;
        }
-
-      freeAsmop (left, NULL, ic, TRUE);
-      freeAsmop (result, NULL, ic, TRUE);
     }
+  freeAsmop (left, NULL, ic, TRUE);
+  freeAsmop (result, NULL, ic, TRUE);
 }
 
 /*-----------------------------------------------------------------*/