Forráskód Böngészése

* after making a copy of a vo_has_local_copy parameter, only release
the old location as a temp in case it was a reference

git-svn-id: trunk@38813 -

Jonas Maebe 7 éve
szülő
commit
3e8cd7d4c9
1 módosított fájl, 2 hozzáadás és 1 törlés
  1. 2 1
      compiler/hlcgobj.pas

+ 2 - 1
compiler/hlcgobj.pas

@@ -4994,7 +4994,8 @@ implementation
                   g_concatcopy(list,tparavarsym(p).vardef,href,localcopyloc.reference);
                 end;
               { update localloc of varsym }
-              tg.Ungetlocal(list,tparavarsym(p).localloc.reference);
+              if tparavarsym(p).localloc.loc in [LOC_REFERENCE,LOC_CREFERENCE] then
+                tg.Ungetlocal(list,tparavarsym(p).localloc.reference);
               tparavarsym(p).localloc:=localcopyloc;
               tparavarsym(p).initialloc:=localcopyloc;
             end;