mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-08 01:27:42 +01:00
* the system unit now compiles with FULL_RTL, so the ifdefs are removed. Smartlinking is required from
now on, for compiling programs, because the system unit becomes too large without it. git-svn-id: branches/z80@45086 -
This commit is contained in:
parent
3d81dd0b00
commit
a9bf07d1f9
@ -2,8 +2,6 @@ unit system;
|
||||
|
||||
interface
|
||||
|
||||
{$ifdef FULL_RTL}
|
||||
|
||||
{$define FPC_IS_SYSTEM}
|
||||
|
||||
{ The heap for ZX Spectrum is implemented
|
||||
@ -26,71 +24,6 @@ interface
|
||||
|
||||
{$endif FPUNONE}
|
||||
|
||||
{$else FULL_RTL}
|
||||
|
||||
{$mode objfpc}
|
||||
Type
|
||||
dword = longword;
|
||||
integer = smallint;
|
||||
sizeint = smallint;
|
||||
sizeuint = word;
|
||||
ptrint = smallint;
|
||||
ptruint = word;
|
||||
|
||||
jmp_buf = packed record
|
||||
f,a,b,c,e,d,l,h,ixlo,ixhi,iylo,iyhi,splo,sphi,pclo,pchi : byte;
|
||||
end;
|
||||
pjmp_buf = ^jmp_buf;
|
||||
|
||||
PExceptAddr = ^TExceptAddr;
|
||||
TExceptAddr = record
|
||||
end;
|
||||
|
||||
PGuid = ^TGuid;
|
||||
TGuid = packed record
|
||||
case integer of
|
||||
1 : (
|
||||
Data1 : DWord;
|
||||
Data2 : word;
|
||||
Data3 : word;
|
||||
Data4 : array[0..7] of byte;
|
||||
);
|
||||
2 : (
|
||||
D1 : DWord;
|
||||
D2 : word;
|
||||
D3 : word;
|
||||
D4 : array[0..7] of byte;
|
||||
);
|
||||
3 : ( { uuid fields according to RFC4122 }
|
||||
time_low : dword; // The low field of the timestamp
|
||||
time_mid : word; // The middle field of the timestamp
|
||||
time_hi_and_version : word; // The high field of the timestamp multiplexed with the version number
|
||||
clock_seq_hi_and_reserved : byte; // The high field of the clock sequence multiplexed with the variant
|
||||
clock_seq_low : byte; // The low field of the clock sequence
|
||||
node : array[0..5] of byte; // The spatially unique node identifier
|
||||
);
|
||||
end;
|
||||
|
||||
HRESULT = Byte;
|
||||
|
||||
TTypeKind = (tkUnknown,tkInteger,tkChar,tkEnumeration,tkFloat,
|
||||
tkSet,tkMethod,tkSString,tkLString,tkAString,
|
||||
tkWString,tkVariant,tkArray,tkRecord,tkInterface,
|
||||
tkClass,tkObject,tkWChar,tkBool,tkInt64,tkQWord,
|
||||
tkDynArray,tkInterfaceRaw,tkProcVar,tkUString,tkUChar,
|
||||
tkHelper,tkFile,tkClassRef,tkPointer);
|
||||
|
||||
procedure fpc_InitializeUnits;compilerproc;
|
||||
Procedure fpc_do_exit;compilerproc;
|
||||
procedure Move(const source;var dest;count:SizeInt);
|
||||
Procedure FillChar(var x;count:SizeInt;value:byte);
|
||||
function get_frame:pointer;
|
||||
function get_caller_addr(framebp:pointer;addr:pointer=nil):pointer;
|
||||
function get_caller_frame(framebp:pointer;addr:pointer=nil):pointer;
|
||||
Function Sptr : pointer;
|
||||
|
||||
{$endif FULL_RTL}
|
||||
|
||||
{ OpenChannel(2) opens the upper screen
|
||||
OpenChannel(1) opens the lower screen
|
||||
OpenChannel(3) opens the ZX Printer }
|
||||
@ -108,8 +41,6 @@ function KeyPressed: Boolean;
|
||||
|
||||
implementation
|
||||
|
||||
{$ifdef FULL_RTL}
|
||||
|
||||
const
|
||||
LineEnding = #13#10;
|
||||
{ LFNSupport is a variable here, defined below!!! }
|
||||
@ -186,20 +117,6 @@ begin
|
||||
until false;
|
||||
end;
|
||||
|
||||
{$else FULL_RTL}
|
||||
{$I z80.inc}
|
||||
|
||||
procedure fpc_InitializeUnits;[public,alias:'FPC_INITIALIZEUNITS']; compilerproc;
|
||||
begin
|
||||
end;
|
||||
|
||||
Procedure fpc_do_exit;[Public,Alias:'FPC_DO_EXIT']; compilerproc;
|
||||
begin
|
||||
repeat
|
||||
until false;
|
||||
end;
|
||||
{$endif FULL_RTL}
|
||||
|
||||
var
|
||||
save_iy: Word; public name 'FPC_SAVE_IY';
|
||||
LastKey: Char absolute 23560;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user