Răsfoiți Sursa

Destroy tfornode class loopiteration field if assigned

git-svn-id: trunk@49329 -
pierre 4 ani în urmă
părinte
comite
39896a1b11
1 a modificat fișierele cu 8 adăugiri și 0 ștergeri
  1. 8 0
      compiler/nflw.pas

+ 8 - 0
compiler/nflw.pas

@@ -111,6 +111,7 @@ interface
           loopiteration : tnode;
           loopvar_notid:cardinal;
           constructor create(l,r,_t1,_t2 : tnode;back : boolean);virtual;reintroduce;
+          destructor destroy;override;
           function pass_typecheck:tnode;override;
           function pass_1 : tnode;override;
           function makewhileloop : tnode;
@@ -1774,6 +1775,13 @@ implementation
          include(loopflags,lnf_testatbegin);
       end;
 
+    destructor tfornode.destroy;
+      begin
+         if assigned(loopiteration) then
+           loopiteration.destroy;
+         inherited destroy;
+      end;
+
     function tfornode.simplify(forinline : boolean) : tnode;
       begin
         result:=nil;