Преглед изворни кода

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

git-svn-id: trunk@48407 -
yury пре 4 година
родитељ
комит
6975437da8
1 измењених фајлова са 5 додато и 1 уклоњено
  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;