|
@@ -3041,12 +3041,12 @@ implementation
|
|
para:=TParaLinkedList.Create;
|
|
para:=TParaLinkedList.Create;
|
|
minparacount:=0;
|
|
minparacount:=0;
|
|
maxparacount:=0;
|
|
maxparacount:=0;
|
|
- fpu_used:=0;
|
|
|
|
proctypeoption:=potype_none;
|
|
proctypeoption:=potype_none;
|
|
proccalloptions:=[];
|
|
proccalloptions:=[];
|
|
procoptions:=[];
|
|
procoptions:=[];
|
|
rettype:=voidtype;
|
|
rettype:=voidtype;
|
|
symtablelevel:=0;
|
|
symtablelevel:=0;
|
|
|
|
+ fpu_used:=0;
|
|
savesize:=target_info.size_of_pointer;
|
|
savesize:=target_info.size_of_pointer;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -3143,6 +3143,8 @@ implementation
|
|
ppufile.puttype(rettype);
|
|
ppufile.puttype(rettype);
|
|
oldintfcrc:=ppufile.do_interface_crc;
|
|
oldintfcrc:=ppufile.do_interface_crc;
|
|
ppufile.do_interface_crc:=false;
|
|
ppufile.do_interface_crc:=false;
|
|
|
|
+ if simplify_ppu then
|
|
|
|
+ fpu_used:=0;
|
|
ppufile.putbyte(fpu_used);
|
|
ppufile.putbyte(fpu_used);
|
|
ppufile.putlongint(ord(proctypeoption));
|
|
ppufile.putlongint(ord(proctypeoption));
|
|
ppufile.putsmallset(proccalloptions);
|
|
ppufile.putsmallset(proccalloptions);
|
|
@@ -3453,7 +3455,7 @@ implementation
|
|
inherited write(ppufile);
|
|
inherited write(ppufile);
|
|
oldintfcrc:=ppufile.do_interface_crc;
|
|
oldintfcrc:=ppufile.do_interface_crc;
|
|
ppufile.do_interface_crc:=false;
|
|
ppufile.do_interface_crc:=false;
|
|
- { set all registers to used for simplified compilation PM }
|
|
|
|
|
|
+ { set all registers to used for simplified compilation PM }
|
|
if simplify_ppu then
|
|
if simplify_ppu then
|
|
begin
|
|
begin
|
|
{$ifdef newcg}
|
|
{$ifdef newcg}
|
|
@@ -3493,36 +3495,39 @@ implementation
|
|
ppufile.putderef(_class);
|
|
ppufile.putderef(_class);
|
|
ppufile.putposinfo(fileinfo);
|
|
ppufile.putposinfo(fileinfo);
|
|
|
|
|
|
- { inline stuff }
|
|
|
|
- oldintfcrc:=ppufile.do_interface_crc;
|
|
|
|
- ppufile.do_interface_crc:=false;
|
|
|
|
|
|
+ { inline stuff references to localsymtable, no influence
|
|
|
|
+ on the crc }
|
|
|
|
+ oldintfcrc:=ppufile.do_crc;
|
|
|
|
+ ppufile.do_crc:=false;
|
|
if (pocall_inline in proccalloptions) then
|
|
if (pocall_inline in proccalloptions) then
|
|
ppufile.putderef(funcretsym);
|
|
ppufile.putderef(funcretsym);
|
|
- ppufile.do_interface_crc:=oldintfcrc;
|
|
|
|
|
|
+ ppufile.do_crc:=oldintfcrc;
|
|
|
|
|
|
{ write this entry }
|
|
{ write this entry }
|
|
ppufile.writeentry(ibprocdef);
|
|
ppufile.writeentry(ibprocdef);
|
|
|
|
|
|
- { Save the para and local symtable, for easier reading
|
|
|
|
- save both always, they don't influence the interface crc }
|
|
|
|
- oldintfcrc:=ppufile.do_interface_crc;
|
|
|
|
- ppufile.do_interface_crc:=false;
|
|
|
|
|
|
+ { Save the para symtable, this is taken from the interface }
|
|
if not assigned(parast) then
|
|
if not assigned(parast) then
|
|
begin
|
|
begin
|
|
parast:=tparasymtable.create;
|
|
parast:=tparasymtable.create;
|
|
parast.defowner:=self;
|
|
parast.defowner:=self;
|
|
end;
|
|
end;
|
|
tparasymtable(parast).write(ppufile);
|
|
tparasymtable(parast).write(ppufile);
|
|
|
|
+
|
|
|
|
+ { save localsymtable for inline procedures, this has no influence
|
|
|
|
+ on the crc }
|
|
if (pocall_inline in proccalloptions) then
|
|
if (pocall_inline in proccalloptions) then
|
|
begin
|
|
begin
|
|
|
|
+ oldintfcrc:=ppufile.do_crc;
|
|
|
|
+ ppufile.do_crc:=false;
|
|
if not assigned(localst) then
|
|
if not assigned(localst) then
|
|
begin
|
|
begin
|
|
localst:=tlocalsymtable.create;
|
|
localst:=tlocalsymtable.create;
|
|
localst.defowner:=self;
|
|
localst.defowner:=self;
|
|
end;
|
|
end;
|
|
tlocalsymtable(localst).write(ppufile);
|
|
tlocalsymtable(localst).write(ppufile);
|
|
|
|
+ ppufile.do_crc:=oldintfcrc;
|
|
end;
|
|
end;
|
|
- ppufile.do_interface_crc:=oldintfcrc;
|
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
@@ -5540,7 +5545,11 @@ Const local_symtable_index : longint = $8001;
|
|
end.
|
|
end.
|
|
{
|
|
{
|
|
$Log$
|
|
$Log$
|
|
- Revision 1.40 2001-08-06 21:40:48 peter
|
|
|
|
|
|
+ Revision 1.41 2001-08-12 20:04:33 peter
|
|
|
|
+ * fpu_used=0 when simplify_ppu is used
|
|
|
|
+ * small crc updating fixes for tprocdef
|
|
|
|
+
|
|
|
|
+ Revision 1.40 2001/08/06 21:40:48 peter
|
|
* funcret moved from tprocinfo to tprocdef
|
|
* funcret moved from tprocinfo to tprocdef
|
|
|
|
|
|
Revision 1.39 2001/08/01 21:47:48 peter
|
|
Revision 1.39 2001/08/01 21:47:48 peter
|