mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 09:26:15 +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);
|
ppufile.writeentry(ibcreatedobjtypes);
|
||||||
|
|
||||||
freemem(fcreatedobjtypesderefs);
|
{ don't free deref arrays immediately after use, as the types may need
|
||||||
fcreatedobjtypesderefs:=nil;
|
re-resolving in case a unit needs to be reloaded
|
||||||
freemem(fcreatedclassrefobjtypesderefs);
|
}
|
||||||
fcreatedclassrefobjtypesderefs:=nil;
|
|
||||||
freemem(fmaybecreatedbyclassrefdeftypesderefs);
|
|
||||||
fmaybecreatedbyclassrefdeftypesderefs:=nil;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -182,20 +179,17 @@ implementation
|
|||||||
var
|
var
|
||||||
i: longint;
|
i: longint;
|
||||||
begin
|
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
|
for i:=0 to fcreatedobjtypes.count-1 do
|
||||||
fcreatedobjtypes[i]:=fcreatedobjtypesderefs^[i].resolve;
|
fcreatedobjtypes[i]:=fcreatedobjtypesderefs^[i].resolve;
|
||||||
freemem(fcreatedobjtypesderefs);
|
|
||||||
fcreatedobjtypesderefs:=nil;
|
|
||||||
|
|
||||||
for i:=0 to fcreatedclassrefobjtypes.count-1 do
|
for i:=0 to fcreatedclassrefobjtypes.count-1 do
|
||||||
fcreatedclassrefobjtypes[i]:=fcreatedclassrefobjtypesderefs^[i].resolve;
|
fcreatedclassrefobjtypes[i]:=fcreatedclassrefobjtypesderefs^[i].resolve;
|
||||||
freemem(fcreatedclassrefobjtypesderefs);
|
|
||||||
fcreatedclassrefobjtypesderefs:=nil;
|
|
||||||
|
|
||||||
for i:=0 to fmaybecreatedbyclassrefdeftypes.count-1 do
|
for i:=0 to fmaybecreatedbyclassrefdeftypes.count-1 do
|
||||||
fmaybecreatedbyclassrefdeftypes[i]:=fmaybecreatedbyclassrefdeftypesderefs^[i].resolve;
|
fmaybecreatedbyclassrefdeftypes[i]:=fmaybecreatedbyclassrefdeftypesderefs^[i].resolve;
|
||||||
freemem(fmaybecreatedbyclassrefdeftypesderefs);
|
|
||||||
fmaybecreatedbyclassrefdeftypesderefs:=nil;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user