mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 03:09:36 +02:00
* Basic structures for new sethandling implemented.
This commit is contained in:
parent
3b9c02929f
commit
c23e9edb97
@ -150,6 +150,9 @@ unit globals;
|
|||||||
initmoduleswitches : tmoduleswitches;
|
initmoduleswitches : tmoduleswitches;
|
||||||
initlocalswitches : tlocalswitches;
|
initlocalswitches : tlocalswitches;
|
||||||
initmodeswitches : tmodeswitches;
|
initmodeswitches : tmodeswitches;
|
||||||
|
{$IFDEF testvarsets}
|
||||||
|
Initsetalloc, {0=fixed, 1 =var}
|
||||||
|
{$ENDIF}
|
||||||
initpackenum : longint;
|
initpackenum : longint;
|
||||||
initpackrecords : tpackrecords;
|
initpackrecords : tpackrecords;
|
||||||
initoutputformat : tasm;
|
initoutputformat : tasm;
|
||||||
@ -161,6 +164,9 @@ unit globals;
|
|||||||
aktmoduleswitches : tmoduleswitches;
|
aktmoduleswitches : tmoduleswitches;
|
||||||
aktlocalswitches : tlocalswitches;
|
aktlocalswitches : tlocalswitches;
|
||||||
aktmodeswitches : tmodeswitches;
|
aktmodeswitches : tmodeswitches;
|
||||||
|
{$IFDEF testvarsets}
|
||||||
|
aktsetalloc,
|
||||||
|
{$ENDIF}
|
||||||
aktpackenum : longint;
|
aktpackenum : longint;
|
||||||
aktmaxfpuregisters: longint;
|
aktmaxfpuregisters: longint;
|
||||||
aktpackrecords : tpackrecords;
|
aktpackrecords : tpackrecords;
|
||||||
@ -1474,6 +1480,9 @@ implementation
|
|||||||
initoptprocessor:=Class386;
|
initoptprocessor:=Class386;
|
||||||
initspecificoptprocessor:=Class386;
|
initspecificoptprocessor:=Class386;
|
||||||
initpackenum:=4;
|
initpackenum:=4;
|
||||||
|
{$IFDEF testvarsets}
|
||||||
|
initsetalloc:=0;
|
||||||
|
{$ENDIF}
|
||||||
initpackrecords:=packrecord_2;
|
initpackrecords:=packrecord_2;
|
||||||
initoutputformat:=target_asm.id;
|
initoutputformat:=target_asm.id;
|
||||||
initasmmode:=asmmode_i386_att;
|
initasmmode:=asmmode_i386_att;
|
||||||
@ -1482,6 +1491,9 @@ implementation
|
|||||||
initoptprocessor:=MC68000;
|
initoptprocessor:=MC68000;
|
||||||
include(initmoduleswitches,cs_fp_emulation);
|
include(initmoduleswitches,cs_fp_emulation);
|
||||||
initpackenum:=4;
|
initpackenum:=4;
|
||||||
|
{$IFDEF testvarsets}
|
||||||
|
initsetalloc:=0;
|
||||||
|
{$ENDIF}
|
||||||
initpackrecords:=packrecord_2;
|
initpackrecords:=packrecord_2;
|
||||||
initoutputformat:=as_m68k_as;
|
initoutputformat:=as_m68k_as;
|
||||||
initasmmode:=asmmode_m68k_mot;
|
initasmmode:=asmmode_m68k_mot;
|
||||||
@ -1513,7 +1525,10 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.52 2000-02-10 11:45:48 peter
|
Revision 1.53 2000-02-14 20:58:44 marco
|
||||||
|
* Basic structures for new sethandling implemented.
|
||||||
|
|
||||||
|
Revision 1.52 2000/02/10 11:45:48 peter
|
||||||
* addpath fixed with list of paths when inserting at the beginning
|
* addpath fixed with list of paths when inserting at the beginning
|
||||||
* if exepath=currentdir then it's not inserted in path list
|
* if exepath=currentdir then it's not inserted in path list
|
||||||
* searchpaths in ppc386.cfg are now added at the beginning of the
|
* searchpaths in ppc386.cfg are now added at the beginning of the
|
||||||
|
@ -377,6 +377,9 @@ unit parser;
|
|||||||
aktlocalswitches:=initlocalswitches;
|
aktlocalswitches:=initlocalswitches;
|
||||||
aktmoduleswitches:=initmoduleswitches;
|
aktmoduleswitches:=initmoduleswitches;
|
||||||
aktmodeswitches:=initmodeswitches;
|
aktmodeswitches:=initmodeswitches;
|
||||||
|
{$IFDEF Testvarsets}
|
||||||
|
aktsetalloc:=initsetalloc;
|
||||||
|
{$ENDIF}
|
||||||
aktpackrecords:=initpackrecords;
|
aktpackrecords:=initpackrecords;
|
||||||
aktpackenum:=initpackenum;
|
aktpackenum:=initpackenum;
|
||||||
aktoutputformat:=initoutputformat;
|
aktoutputformat:=initoutputformat;
|
||||||
@ -591,7 +594,10 @@ unit parser;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.99 2000-02-09 13:22:55 peter
|
Revision 1.100 2000-02-14 20:58:44 marco
|
||||||
|
* Basic structures for new sethandling implemented.
|
||||||
|
|
||||||
|
Revision 1.99 2000/02/09 13:22:55 peter
|
||||||
* log truncated
|
* log truncated
|
||||||
|
|
||||||
Revision 1.98 2000/01/23 21:29:17 florian
|
Revision 1.98 2000/01/23 21:29:17 florian
|
||||||
|
@ -42,6 +42,9 @@ type
|
|||||||
_DIR_NOTE,_DIR_NOTES,
|
_DIR_NOTE,_DIR_NOTES,
|
||||||
_DIR_OBJECTPATH,_DIR_OPENSTRINGS,_DIR_OUTPUT_FORMAT,_DIR_OVERFLOWCHECKS,
|
_DIR_OBJECTPATH,_DIR_OPENSTRINGS,_DIR_OUTPUT_FORMAT,_DIR_OVERFLOWCHECKS,
|
||||||
_DIR_PACKENUM,_DIR_PACKRECORDS,
|
_DIR_PACKENUM,_DIR_PACKRECORDS,
|
||||||
|
{$IFDEF Testvarsets}
|
||||||
|
_DIR_PACKSET,
|
||||||
|
{$ENDIF}
|
||||||
_DIR_R,_DIR_RANGECHECKS,_DIR_REFERENCEINFO,
|
_DIR_R,_DIR_RANGECHECKS,_DIR_REFERENCEINFO,
|
||||||
_DIR_SATURATION,_DIR_SMARTLINK,_DIR_STACKFRAMES,_DIR_STATIC,_DIR_STOP,
|
_DIR_SATURATION,_DIR_SMARTLINK,_DIR_STACKFRAMES,_DIR_STATIC,_DIR_STOP,
|
||||||
_DIR_TYPEDADDRESS,_DIR_TYPEINFO,
|
_DIR_TYPEDADDRESS,_DIR_TYPEINFO,
|
||||||
@ -110,6 +113,9 @@ const
|
|||||||
'OVERFLOWCHECKS',
|
'OVERFLOWCHECKS',
|
||||||
'PACKENUM',
|
'PACKENUM',
|
||||||
'PACKRECORDS',
|
'PACKRECORDS',
|
||||||
|
{$IFDEF testvarsets}
|
||||||
|
'PACKSET',
|
||||||
|
{$ENDIF}
|
||||||
'R',
|
'R',
|
||||||
'RANGECHECKS',
|
'RANGECHECKS',
|
||||||
'REFERENCEINFO',
|
'REFERENCEINFO',
|
||||||
@ -953,6 +959,32 @@ const
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{$ifdef testvarsets}
|
||||||
|
procedure dir_setalloc(t:tdirectivetoken);
|
||||||
|
var
|
||||||
|
hs : string;
|
||||||
|
begin
|
||||||
|
current_scanner^.skipspace;
|
||||||
|
if not(c in ['1','2','4']) then
|
||||||
|
begin
|
||||||
|
hs:=current_scanner^.readid;
|
||||||
|
if (hs='FIXED') or ((hs='DEFAULT') OR (hs='NORMAL')) then
|
||||||
|
aktsetalloc:=0 {Fixed mode, sets are 4 or 32 bytes}
|
||||||
|
else
|
||||||
|
Message(scan_w_only_packset);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
case current_scanner^.readval of
|
||||||
|
1 : aktpackenum:=1;
|
||||||
|
2 : aktpackenum:=2;
|
||||||
|
4 : aktpackenum:=4;
|
||||||
|
else
|
||||||
|
Message(scan_w_only_packset);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
{$ENDIF}
|
||||||
procedure dir_apptype(t:tdirectivetoken);
|
procedure dir_apptype(t:tdirectivetoken);
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -1152,6 +1184,9 @@ const
|
|||||||
{_DIR_OVERFLOWCHECKS} dir_delphiswitch,
|
{_DIR_OVERFLOWCHECKS} dir_delphiswitch,
|
||||||
{_DIR_PACKENUM} dir_packenum,
|
{_DIR_PACKENUM} dir_packenum,
|
||||||
{_DIR_PACKRECORDS} dir_packrecords,
|
{_DIR_PACKRECORDS} dir_packrecords,
|
||||||
|
{$IFDEF TestVarsets}
|
||||||
|
{_DIR_PACKSET} dir_packset,
|
||||||
|
{$ENDIF}
|
||||||
{_DIR_R} dir_resource,
|
{_DIR_R} dir_resource,
|
||||||
{_DIR_RANGECHECKS} dir_delphiswitch,
|
{_DIR_RANGECHECKS} dir_delphiswitch,
|
||||||
{_DIR_REFERENCEINFO} dir_delphiswitch,
|
{_DIR_REFERENCEINFO} dir_delphiswitch,
|
||||||
@ -1252,7 +1287,10 @@ const
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.74 2000-02-09 13:23:03 peter
|
Revision 1.75 2000-02-14 20:58:43 marco
|
||||||
|
* Basic structures for new sethandling implemented.
|
||||||
|
|
||||||
|
Revision 1.74 2000/02/09 13:23:03 peter
|
||||||
* log truncated
|
* log truncated
|
||||||
|
|
||||||
Revision 1.73 2000/01/14 14:28:40 pierre
|
Revision 1.73 2000/01/14 14:28:40 pierre
|
||||||
|
@ -1627,9 +1627,17 @@
|
|||||||
{ small sets only working for i386 PM }
|
{ small sets only working for i386 PM }
|
||||||
if high<32 then
|
if high<32 then
|
||||||
begin
|
begin
|
||||||
settype:=smallset;
|
settype:=smallset;
|
||||||
savesize:=Sizeof(longint);
|
{$ifdef testvarsets}
|
||||||
end
|
if aktsetalloc=0 THEN { $PACKSET Fixed?}
|
||||||
|
{$endif}
|
||||||
|
savesize:=Sizeof(longint)
|
||||||
|
{$ifdef testvarsets}
|
||||||
|
else {No, use $PACKSET VALUE for rounding}
|
||||||
|
savesize:=aktsetalloc*((high+aktsetalloc*8-1) DIV (aktsetalloc*8))
|
||||||
|
{$endif}
|
||||||
|
;
|
||||||
|
end
|
||||||
else
|
else
|
||||||
{$endif usesmallset}
|
{$endif usesmallset}
|
||||||
if high<256 then
|
if high<256 then
|
||||||
@ -3924,7 +3932,10 @@ Const local_symtable_index : longint = $8001;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.195 2000-02-11 13:53:49 pierre
|
Revision 1.196 2000-02-14 20:58:43 marco
|
||||||
|
* Basic structures for new sethandling implemented.
|
||||||
|
|
||||||
|
Revision 1.195 2000/02/11 13:53:49 pierre
|
||||||
* avoid stack overflow in tref.done (bug 846)
|
* avoid stack overflow in tref.done (bug 846)
|
||||||
|
|
||||||
Revision 1.194 2000/02/09 13:23:04 peter
|
Revision 1.194 2000/02/09 13:23:04 peter
|
||||||
|
Loading…
Reference in New Issue
Block a user