* talignmentinfo must be packed, it is written to the ppu during streaming, further it is member of tsettings which packed too

* reordered fields of tsetting to avoid unaligned fields
* fixed compilation of arm after disableddircache was added
* increased ppu version

git-svn-id: trunk@13327 -
This commit is contained in:
florian 2009-06-27 11:14:19 +00:00
parent e42842b31c
commit fc5e5d9258
3 changed files with 26 additions and 18 deletions

View File

@ -104,7 +104,9 @@ interface
type
tcodepagestring = string[20];
{ this is written to ppus during token recording for generics so it must be packed }
tsettings = packed record
alignment : talignmentinfo;
globalswitches : tglobalswitches;
moduleswitches : tmoduleswitches;
localswitches : tlocalswitches;
@ -119,7 +121,10 @@ interface
>0: round to this size }
setalloc,
packenum : shortint;
alignment : talignmentinfo;
packrecords : shortint;
maxfpuregisters : shortint;
cputype,
optimizecputype : tcputype;
fputype : tfputype;
@ -128,9 +133,6 @@ interface
defproccall : tproccalloption;
sourcecodepage : tcodepagestring;
packrecords : shortint;
maxfpuregisters : shortint;
minfpconstprec : tfloattype;
disabledircache : boolean;
@ -330,16 +332,6 @@ interface
const
default_settings : TSettings = (
globalswitches : [cs_check_unit_name,cs_link_static];
moduleswitches : [cs_extsyntax,cs_implicit_exceptions];
localswitches : [cs_check_io,cs_typed_const_writable];
modeswitches : fpcmodeswitches;
optimizerswitches : [];
genwpoptimizerswitches : [];
dowpoptimizerswitches : [];
debugswitches : [];
setalloc : 0;
packenum : 4;
alignment : (
procalign : 0;
loopalign : 0;
@ -354,6 +346,21 @@ interface
recordalignmax : 0;
maxCrecordalign : 0;
);
globalswitches : [cs_check_unit_name,cs_link_static];
moduleswitches : [cs_extsyntax,cs_implicit_exceptions];
localswitches : [cs_check_io,cs_typed_const_writable];
modeswitches : fpcmodeswitches;
optimizerswitches : [];
genwpoptimizerswitches : [];
dowpoptimizerswitches : [];
debugswitches : [];
setalloc : 0;
packenum : 4;
packrecords : 0;
maxfpuregisters : 0;
{$ifdef i386}
cputype : cpu_Pentium;
optimizecputype : cpu_Pentium3;
@ -398,9 +405,9 @@ interface
interfacetype : it_interfacecom;
defproccall : pocall_default;
sourcecodepage : '8859-1';
packrecords : 0;
maxfpuregisters : 0;
minfpconstprec : s32real;
disabledircache : false;
{$if defined(ARM)}
controllertype : ct_none;
{$endif defined(ARM)}

View File

@ -43,7 +43,7 @@ type
{$endif Test_Double_checksum}
const
CurrentPPUVersion = 99;
CurrentPPUVersion = 100;
{ buffer sizes }
maxentrysize = 1024;

View File

@ -236,7 +236,8 @@ interface
palignmentinfo = ^talignmentinfo;
talignmentinfo = record
{ this is written to ppus during token recording for generics so it must be packed }
talignmentinfo = packed record
procalign,
loopalign,
jumpalign,