* .version: changed to version 2.5.3
[fw/sdcc] / src / mcs51 / ralloc.c
index 9251cd32624f899be4b338be921e82e53b2cc4fa..e983d48ae692bc768447ed980d691629a9075036 100644 (file)
@@ -984,6 +984,7 @@ updateRegUsage (iCode * ic)
       else
         {
           ic->riu |= (1<<regs8051[reg].offset);
+          BitBankUsed |= (reg >= 8);
         }
     }
 }
@@ -3232,10 +3233,9 @@ mcs51_assignRegisters (ebbIndex * ebbi)
   setToNull ((void *) &_G.regAssigned);
   setToNull ((void *) &_G.totRegAssigned);
   mcs51_ptrRegReq = _G.stackExtend = _G.dataExtend = 0;
-  if (options.stackAuto)
+  if ((currFunc && IFFUNC_ISREENT (currFunc->type)) || options.stackAuto)
     {
       mcs51_nRegs = 16;
-      BitBankUsed = 1;
     }
   else
     {