* double initialization code calling bug fixed

This commit is contained in:
pierre 1998-11-06 09:48:14 +00:00
parent 66ee4baa3d
commit 00f7988d1d

View File

@ -300,6 +300,7 @@ unit pmodules;
ImplIntf : array[boolean] of string[15]=('interface','implementation');
var
st : punitsymtable;
second_time : boolean;
old_current_ppu : pppufile;
old_current_module,hp,hp2 : pmodule;
name : string;{ necessary because
@ -416,12 +417,14 @@ unit pmodules;
current_module:=hp;
current_module^.in_second_compile:=true;
Message1(unit_u_second_load_unit,current_module^.modulename^);
second_time:=true;
end
else
{ generates a new unit info record }
begin
current_module:=new(pmodule,init(s,true));
scanner:=nil;
second_time:=false;
end;
current_ppu:=current_module^.ppufile;
{ now we can register the unit }
@ -432,7 +435,9 @@ unit pmodules;
{ set compiled flag }
current_module^.compiled:=true;
{ register the unit _once_ }
usedunits.concat(new(pused_unit,init(current_module,true)));
{ this is buggy PM }
if not second_time then
usedunits.concat(new(pused_unit,init(current_module,true)));
{ load return pointer }
hp:=current_module;
end;
@ -1110,7 +1115,10 @@ unit pmodules;
end.
{
$Log$
Revision 1.79 1998-11-03 11:33:11 peter
Revision 1.80 1998-11-06 09:48:14 pierre
* double initialization code calling bug fixed
Revision 1.79 1998/11/03 11:33:11 peter
+ search_unit arg to only search for sources
Revision 1.78 1998/10/30 12:23:41 peter