Browse Source

* memory leak fixes from Sergey Korshunoff

Jonas Maebe 23 years ago
parent
commit
cb3eb438b6
3 changed files with 19 additions and 8 deletions
  1. 5 1
      compiler/aasmbase.pas
  2. 7 3
      compiler/assemble.pas
  3. 7 4
      compiler/symsym.pas

+ 5 - 1
compiler/aasmbase.pas

@@ -430,6 +430,7 @@ implementation
       begin
         if assigned(Data) then
           Data.Free;
+        relocations.free;
       end;
 
 
@@ -781,7 +782,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.2  2002-07-07 09:52:32  florian
+  Revision 1.3  2002-07-10 07:24:40  jonas
+    * memory leak fixes from Sergey Korshunoff
+
+  Revision 1.2  2002/07/07 09:52:32  florian
     * powerpc target fixed, very simple units can be compiled
     * some basic stuff for better callparanode handling, far from being finished
 

+ 7 - 3
compiler/assemble.pas

@@ -1490,6 +1490,9 @@ Implementation
               hp:=Tai(hp.next);
             end;
 
+           if not MaybeNextList(hp) then
+             break;
+
            { start next objectfile }
            NextSmartName(place);
            objectdata:=objectoutput.newobjectdata(Objfile);
@@ -1498,8 +1501,6 @@ Implementation
            if starTSec=sec_none then
              starTSec:=sec_code;
 
-           if not MaybeNextList(hp) then
-             break;
          end;
       end;
 
@@ -1595,7 +1596,10 @@ Implementation
 end.
 {
   $Log$
-  Revision 1.37  2002-07-01 18:46:21  peter
+  Revision 1.38  2002-07-10 07:24:40  jonas
+    * memory leak fixes from Sergey Korshunoff
+
+  Revision 1.37  2002/07/01 18:46:21  peter
     * internal linker
     * reorganized aasm layer
 

+ 7 - 4
compiler/symsym.pas

@@ -1070,11 +1070,11 @@ implementation
         index:=overriden.index;
         default:=overriden.default;
         indextype:=overriden.indextype;
-        readaccess.clear;
+        readaccess.free;
         readaccess:=overriden.readaccess.getcopy;
-        writeaccess.clear;
+        writeaccess.free;
         writeaccess:=overriden.writeaccess.getcopy;
-        storedaccess.clear;
+        storedaccess.free;
         storedaccess:=overriden.storedaccess.getcopy;
       end;
 
@@ -2517,7 +2517,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.40  2002-07-01 18:46:27  peter
+  Revision 1.41  2002-07-10 07:24:40  jonas
+    * memory leak fixes from Sergey Korshunoff
+
+  Revision 1.40  2002/07/01 18:46:27  peter
     * internal linker
     * reorganized aasm layer