mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-10 08:07:18 +01:00
* fixing writing of setdefs
* fixed copying of setdefs * increased ppu version git-svn-id: trunk@6189 -
This commit is contained in:
parent
fae803869f
commit
1d3a9cd87a
@ -43,7 +43,7 @@ type
|
||||
{$endif Test_Double_checksum}
|
||||
|
||||
const
|
||||
CurrentPPUVersion=74;
|
||||
CurrentPPUVersion=75;
|
||||
|
||||
{ buffer sizes }
|
||||
maxentrysize = 1024;
|
||||
|
||||
@ -2033,23 +2033,21 @@ implementation
|
||||
ppufile.getderef(elementdefderef);
|
||||
settype:=tsettype(ppufile.getbyte);
|
||||
case settype of
|
||||
normset : savesize:=ppufile.getaint;
|
||||
varset : savesize:=ppufile.getlongint;
|
||||
smallset : savesize:=Sizeof(longint);
|
||||
normset :
|
||||
savesize:=ppufile.getaint;
|
||||
varset,
|
||||
smallset :
|
||||
savesize:=ppufile.getlongint;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function tsetdef.getcopy : tstoreddef;
|
||||
begin
|
||||
case settype of
|
||||
smallset:
|
||||
result:=tsetdef.create(elementdef,31);
|
||||
normset:
|
||||
result:=tsetdef.create(elementdef,255);
|
||||
else
|
||||
internalerror(2004121202);
|
||||
end;
|
||||
result:=tsetdef.create(elementdef,setmax);
|
||||
{ the copy might have been created with a different setalloc setting }
|
||||
tsetdef(result).settype:=settype;
|
||||
tsetdef(result).savesize:=savesize;
|
||||
end;
|
||||
|
||||
|
||||
@ -2058,10 +2056,13 @@ implementation
|
||||
inherited ppuwrite(ppufile);
|
||||
ppufile.putderef(elementdefderef);
|
||||
ppufile.putbyte(byte(settype));
|
||||
if settype=varset then
|
||||
ppufile.putlongint(savesize);
|
||||
if settype=normset then
|
||||
ppufile.putaint(savesize);
|
||||
case settype of
|
||||
varset,
|
||||
smallset:
|
||||
ppufile.putlongint(savesize);
|
||||
normset:
|
||||
ppufile.putaint(savesize);
|
||||
end;
|
||||
ppufile.writeentry(ibsetdef);
|
||||
end;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user