Explorar o código

* rgobj: ungetiftemp can't be used here since it frees only temps of the tt_normal type.

git-svn-id: trunk@48407 -
yury %!s(int64=4) %!d(string=hai) anos
pai
achega
6975437da8
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  1. 5 1
      compiler/rgobj.pas

+ 5 - 1
compiler/rgobj.pas

@@ -2521,7 +2521,11 @@ unit rgobj;
         {Safe: this procedure is only called if there are spilled nodes.}
         with spillednodes do
           for i:=0 to length-1 do
-            tg.ungetiftemp(list,spill_temps^[buf^[i]]);
+            begin
+              j:=buf^[i];
+              if tg.istemp(spill_temps^[j]) then
+                tg.ungettemp(list,spill_temps^[j]);
+            end;
         freemem(spill_temps);
       end;