mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-26 14:13:52 +01:00
* fpu_used=0 when simplify_ppu is used
* small crc updating fixes for tprocdef
This commit is contained in:
parent
096dc02fe0
commit
a9044dd538
@ -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 }
|
{ inline stuff references to localsymtable, no influence
|
||||||
oldintfcrc:=ppufile.do_interface_crc;
|
on the crc }
|
||||||
ppufile.do_interface_crc:=false;
|
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 the para symtable, this is taken from the interface }
|
||||||
save both always, they don't influence the interface crc }
|
|
||||||
oldintfcrc:=ppufile.do_interface_crc;
|
|
||||||
ppufile.do_interface_crc:=false;
|
|
||||||
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
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user