* src/mcs51/gen.c (genPlus, genMinus, genMult, genGetAbit, genGetByte,
authormaartenbrock <maartenbrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 14 Feb 2006 19:09:48 +0000 (19:09 +0000)
committermaartenbrock <maartenbrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 14 Feb 2006 19:09:48 +0000 (19:09 +0000)
  genGetWord): fixed bug 1409955

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4042 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
src/mcs51/gen.c

index d1717f6bca0ac8bba4d9ae9f86940b7434194d18..8249ef2e41eb353ea3951487bf23db43adf86ea4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-14 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/gen.c (genPlus, genMinus, genMult, genGetAbit, genGetByte,
+         genGetWord): fixed bug 1409955
+
 2006-02-14 Maarten Brock <sourceforge.brock AT dse.nl>
 
        * device/include/hc08/mc68hc908gp32.h,
index 6b8eeefb45187dd78cc2e56bd37bac78103e5938..afce9d527460cb594b5553b8b965cc18b0e50fc1 100644 (file)
@@ -4385,8 +4385,8 @@ genPlus (iCode * ic)
   adjustArithmeticResult (ic);
 
 release:
-  freeAsmop (IC_LEFT (ic), NULL, ic, (RESULTONSTACK (ic) ? FALSE : TRUE));
   freeAsmop (IC_RIGHT (ic), NULL, ic, (RESULTONSTACK (ic) ? FALSE : TRUE));
+  freeAsmop (IC_LEFT (ic), NULL, ic, (RESULTONSTACK (ic) ? FALSE : TRUE));
   freeAsmop (IC_RESULT (ic), NULL, ic, TRUE);
 }
 
@@ -4701,8 +4701,8 @@ genMinus (iCode * ic)
   adjustArithmeticResult (ic);
 
 release:
-  freeAsmop (IC_LEFT (ic), NULL, ic, (RESULTONSTACK (ic) ? FALSE : TRUE));
   freeAsmop (IC_RIGHT (ic), NULL, ic, (RESULTONSTACK (ic) ? FALSE : TRUE));
+  freeAsmop (IC_LEFT (ic), NULL, ic, (RESULTONSTACK (ic) ? FALSE : TRUE));
   freeAsmop (IC_RESULT (ic), NULL, ic, TRUE);
 }
 
@@ -4969,9 +4969,9 @@ genMult (iCode * ic)
   assert (0);
 
 release:
-  freeAsmop (result, NULL, ic, TRUE);
   freeAsmop (right, NULL, ic, (RESULTONSTACK (ic) ? FALSE : TRUE));
   freeAsmop (left, NULL, ic, (RESULTONSTACK (ic) ? FALSE : TRUE));
+  freeAsmop (result, NULL, ic, TRUE);
 }
 
 /*-----------------------------------------------------------------*/
@@ -7474,7 +7474,6 @@ genGetHbit (iCode * ic)
       outAcc (result);
     }
 
-
   freeAsmop (left, NULL, ic, TRUE);
   freeAsmop (result, NULL, ic, TRUE);
 }
@@ -7546,8 +7545,8 @@ genGetAbit (iCode * ic)
       outAcc (result);
     }
 
-  freeAsmop (left, NULL, ic, TRUE);
   freeAsmop (right, NULL, ic, TRUE);
+  freeAsmop (left, NULL, ic, TRUE);
   freeAsmop (result, NULL, ic, TRUE);
 }
 
@@ -7575,8 +7574,8 @@ genGetByte (iCode * ic)
           0,
           isOperandVolatile (result, FALSE));
 
-  freeAsmop (left, NULL, ic, TRUE);
   freeAsmop (right, NULL, ic, TRUE);
+  freeAsmop (left, NULL, ic, TRUE);
   freeAsmop (result, NULL, ic, TRUE);
 }
 
@@ -7608,8 +7607,8 @@ genGetWord (iCode * ic)
           1,
           isOperandVolatile (result, FALSE));
 
-  freeAsmop (left, NULL, ic, TRUE);
   freeAsmop (right, NULL, ic, TRUE);
+  freeAsmop (left, NULL, ic, TRUE);
   freeAsmop (result, NULL, ic, TRUE);
 }