mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 19:29:26 +02:00
* don't free deref info after using it, because it may be needed again
again later (in case of recompilations with circular unit references) (mantis #13323) git-svn-id: trunk@13024 -
This commit is contained in:
parent
a4bf91001e
commit
02b14b2d5d
@ -115,12 +115,9 @@ implementation
|
||||
|
||||
ppufile.writeentry(ibcreatedobjtypes);
|
||||
|
||||
freemem(fcreatedobjtypesderefs);
|
||||
fcreatedobjtypesderefs:=nil;
|
||||
freemem(fcreatedclassrefobjtypesderefs);
|
||||
fcreatedclassrefobjtypesderefs:=nil;
|
||||
freemem(fmaybecreatedbyclassrefdeftypesderefs);
|
||||
fmaybecreatedbyclassrefdeftypesderefs:=nil;
|
||||
{ don't free deref arrays immediately after use, as the types may need
|
||||
re-resolving in case a unit needs to be reloaded
|
||||
}
|
||||
end;
|
||||
|
||||
|
||||
@ -182,20 +179,17 @@ implementation
|
||||
var
|
||||
i: longint;
|
||||
begin
|
||||
{ don't free deref arrays immediately after use, as the types may need
|
||||
re-resolving in case a unit needs to be reloaded
|
||||
}
|
||||
for i:=0 to fcreatedobjtypes.count-1 do
|
||||
fcreatedobjtypes[i]:=fcreatedobjtypesderefs^[i].resolve;
|
||||
freemem(fcreatedobjtypesderefs);
|
||||
fcreatedobjtypesderefs:=nil;
|
||||
|
||||
for i:=0 to fcreatedclassrefobjtypes.count-1 do
|
||||
fcreatedclassrefobjtypes[i]:=fcreatedclassrefobjtypesderefs^[i].resolve;
|
||||
freemem(fcreatedclassrefobjtypesderefs);
|
||||
fcreatedclassrefobjtypesderefs:=nil;
|
||||
|
||||
for i:=0 to fmaybecreatedbyclassrefdeftypes.count-1 do
|
||||
fmaybecreatedbyclassrefdeftypes[i]:=fmaybecreatedbyclassrefdeftypesderefs^[i].resolve;
|
||||
freemem(fmaybecreatedbyclassrefdeftypesderefs);
|
||||
fmaybecreatedbyclassrefdeftypesderefs:=nil;
|
||||
end;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user