@@ -8730,6 +8730,7 @@ rtl/inc/dynlibs.pas svneol=native#text/plain
rtl/inc/except.inc svneol=native#text/plain
rtl/inc/excepth.inc svneol=native#text/plain
rtl/inc/exeinfo.pp svneol=native#text/plain
+rtl/inc/extpas.pp svneol=native#text/pascal
rtl/inc/extres.inc svneol=native#text/plain
rtl/inc/fexpand.inc svneol=native#text/plain
rtl/inc/file.inc svneol=native#text/plain
@@ -12041,6 +12042,7 @@ tests/test/texception6.pp svneol=native#text/plain
tests/test/texception7.pp svneol=native#text/plain
tests/test/texception8.pp svneol=native#text/plain
tests/test/texception9.pp svneol=native#text/plain
+tests/test/textpas01.pp svneol=native#text/pascal
tests/test/textthr.pp svneol=native#text/plain
tests/test/tfillchr.pp svneol=native#text/plain
tests/test/tfinal1.pp svneol=native#text/pascal
@@ -70,7 +70,13 @@ interface
macmodeswitches =
[m_mac,m_cvar_support,m_mac_procvar,m_nested_procvars,m_non_local_goto,m_isolike_unary_minus,m_default_inline];
isomodeswitches =
- [m_iso,m_tp_procvar,m_duplicate_names,m_nested_procvars,m_non_local_goto,m_isolike_unary_minus];
+ [m_iso,m_tp_procvar,m_duplicate_names,m_nested_procvars,m_non_local_goto,m_isolike_unary_minus,m_isolike_io,
+ m_isolike_program_para,
+ m_isolike_mod];
+ extpasmodeswitches =
+ [m_extpas,m_tp_procvar,m_duplicate_names,m_nested_procvars,m_non_local_goto,m_isolike_unary_minus,m_isolike_io,
{ maximum nesting of routines }
maxnesting = 32;
@@ -374,7 +374,7 @@ interface
{ Switches which can be changed by a mode (fpc,tp7,delphi) }
tmodeswitch = (m_none,
{ generic }
- m_fpc,m_objfpc,m_delphi,m_tp7,m_mac,m_iso,
+ m_fpc,m_objfpc,m_delphi,m_tp7,m_mac,m_iso,m_extpas,
{$ifdef fpc_mode}m_gpc,{$endif}
{ more specific }
m_class, { delphi class model }
@@ -412,12 +412,15 @@ interface
ansistring; similarly, char becomes unicodechar rather than ansichar }
m_type_helpers, { allows the declaration of "type helper" (non-Delphi) or "record helper"
(Delphi) for primitive types }
- m_blocks { support for http://en.wikipedia.org/wiki/Blocks_(C_language_extension) }
+ m_blocks, { support for http://en.wikipedia.org/wiki/Blocks_(C_language_extension) }
+ m_isolike_io, { I/O as it required by an ISO compatible compiler }
+ m_isolike_program_para, { program parameters as it required by an ISO compatible compiler }
+ m_isolike_mod { mod operation as it is required by an iso compatible compiler }
);
tmodeswitches = set of tmodeswitch;
const
- alllanguagemodes = [m_fpc,m_objfpc,m_delphi,m_tp7,m_mac,m_iso];
+ alllanguagemodes = [m_fpc,m_objfpc,m_delphi,m_tp7,m_mac,m_iso,m_extpas];
type
{ Application types (platform specific) }
@@ -545,7 +548,7 @@ interface
cstylearrayofconst = [pocall_cdecl,pocall_cppdecl,pocall_mwpascal];
modeswitchstr : array[tmodeswitch] of string[18] = ('',
- '','','','','','',
+ '','','','','','','',
{$ifdef fpc_mode}'',{$endif}
'CLASS',
@@ -578,7 +581,11 @@ interface
'FINALFIELDS',
'UNICODESTRINGS',
'TYPEHELPERS',
- 'CBLOCKS');
+ 'CBLOCKS',
+ 'ISOIO',
+ 'ISOPROGRAMPARAS',
+ 'ISOMOD'
+ );
@@ -318,7 +318,7 @@ implementation
begin
result:=maybe_insert_trashing(pd,n);
- if (m_iso in current_settings.modeswitches) and
+ if (m_isolike_program_para in current_settings.modeswitches) and
(pd.proctypeoption=potype_proginit) then
block:=internalstatements(stat);
@@ -539,7 +539,7 @@ implementation
tfiledef(left.resultdef).typedfiledef.size,s32inttype,true),
ccallparanode.create(left,nil));
{ create the correct call }
- if m_iso in current_settings.modeswitches then
+ if m_isolike_io in current_settings.modeswitches then
if inlinenumber=in_reset_typedfile then
result := ccallnode.createintern('fpc_reset_typed_iso',left)
@@ -721,7 +721,7 @@ implementation
readfunctype:=pbestrealtype^;
end;
{ iso pascal needs a different handler }
- if (m_iso in current_settings.modeswitches) and do_read then
+ if (m_isolike_io in current_settings.modeswitches) and do_read then
name:=name+'_iso';
enumdef:
@@ -743,14 +743,14 @@ implementation
get_read_write_int_func(para.left.resultdef,func_suffix,readfunctype);
name := procprefixes[do_read]+func_suffix;
uchar :
name := procprefixes[do_read]+'char';
readfunctype:=cansichartype;
@@ -763,7 +763,7 @@ implementation
name := procprefixes[do_read]+'currency';
readfunctype:=s64currencytype;
is_real:=true;
@@ -817,7 +817,7 @@ implementation
- if (m_iso in current_settings.modeswitches) and not(do_read) then
+ if (m_isolike_io in current_settings.modeswitches) and not(do_read) then
{ check for length/fractional colon para's }
@@ -868,7 +868,7 @@ implementation
if not assigned(lenpara) then
lenpara := ccallparanode.create(
cordconstnode.create(-1,s32inttype,false),nil)
else
@@ -1051,7 +1051,7 @@ implementation
in_readln_x:
name:='fpc_readln_end';
in_writeln_x:
@@ -1157,7 +1157,7 @@ implementation
{ since the parameters are in the correct order, we have to insert }
{ the statements always at the end of the current block }
addstatement(Tstatementnode(newstatement),
- Ccallnode.createintern(procprefixes[m_iso in current_settings.modeswitches,do_read],para
+ Ccallnode.createintern(procprefixes[m_isolike_io in current_settings.modeswitches,do_read],para
));
{ if we used a temp, free it }
@@ -1777,7 +1777,7 @@ implementation
if not(pt.nodetype=ordconstn) then
Message(parser_e_illegal_expression);
{ iso pascal does not support ranges in variant record definitions }
- if not(m_iso in current_settings.modeswitches) and try_to_consume(_POINTPOINT) then
+ if (([m_iso,m_extpas]*current_settings.modeswitches)=[]) and try_to_consume(_POINTPOINT) then
pt:=crangenode.create(pt,comp_expr([ef_accept_equal]))
@@ -1960,7 +1960,7 @@ implementation
{ iso file buf access? }
+ if (m_isolike_io in current_settings.modeswitches) and
(p1.resultdef.typ=filedef) then
case tfiledef(p1.resultdef).filetyp of
@@ -2857,7 +2857,7 @@ implementation
(
(token=_LKLAMMER) or
- (([m_tp7,m_delphi,m_mac,m_iso] * current_settings.modeswitches) <> []) and
+ (([m_tp7,m_delphi,m_mac,m_iso,m_extpas] * current_settings.modeswitches) <> []) and
(afterassignment or in_args)
)
) then
@@ -4139,7 +4139,7 @@ implementation
_OP_MOD :
p1:=cmoddivnode.create(modn,p1,p2);
+ if m_isolike_mod in current_settings.modeswitches then
include(p1.flags,nf_isomod);
_OP_SHL :
@@ -154,7 +154,7 @@ implementation
new_dispose_statement := p2;
end
{ constructor,destructor specified }
- else if (([m_mac,m_iso]*current_settings.modeswitches)=[]) and
+ else if (([m_mac,m_iso,m_extpas]*current_settings.modeswitches)=[]) and
try_to_consume(_COMMA) then
{ extended syntax of new and dispose }
@@ -340,7 +340,7 @@ implementation
{ create call to fpc_initialize }
if is_managed_type(tpointerdef(p.resultdef).pointeddef) or
- ((m_iso in current_settings.modeswitches) and (tpointerdef(p.resultdef).pointeddef.typ=filedef)) then
+ ((m_isolike_io in current_settings.modeswitches) and (tpointerdef(p.resultdef).pointeddef.typ=filedef)) then
addstatement(newstatement,cnodeutils.initialize_data_node(cderefnode.create(ctemprefnode.create(temp)),false));
{ copy the temp to the destination }
@@ -348,7 +348,7 @@ implementation
p,
ctemprefnode.create(temp)));
- if (m_iso in current_settings.modeswitches) and (is_record(tpointerdef(p.resultdef).pointeddef)) then
+ if (([m_iso,m_extpas]*current_settings.modeswitches)<>[]) and (is_record(tpointerdef(p.resultdef).pointeddef)) then
variantdesc:=trecorddef(tpointerdef(p.resultdef).pointeddef).variantrecdesc;
while (token=_COMMA) and assigned(variantdesc) do
@@ -352,6 +352,13 @@ implementation
if m_iso in current_settings.modeswitches then
AddUnit('iso7185');
+ if m_extpas in current_settings.modeswitches then
+ begin
+ { basic procedures for Extended Pascal are for now provided by the iso unit }
+ AddUnit('iso7185');
+ AddUnit('extpas');
+ end;
+
{ blocks support? }
if m_blocks in current_settings.modeswitches then
AddUnit('blockrtl');
@@ -2061,7 +2068,7 @@ type
consume(_LKLAMMER);
paramnum:=1;
repeat
+ if m_isolike_program_para in current_settings.modeswitches then
if (pattern<>'INPUT') and (pattern<>'OUTPUT') then
@@ -1140,7 +1140,7 @@ implementation
internalerror(201008021);
{ strip leading 0's in iso mode }
+ if (([m_iso,m_extpas]*current_settings.modeswitches)<>[]) then
while pattern[1]='0' do
delete(pattern,1,1);
@@ -1234,7 +1234,7 @@ implementation
try_to_consume(_COLON) then
{ in iso mode, 0003: is equal to 3: }
searchsym(tostr(tordconstnode(p).value),srsym,srsymtable)
searchsym(s,srsym,srsymtable);
@@ -1883,7 +1883,7 @@ implementation
- if (token=_KLAMMERAFFE) and (m_iso in current_settings.modeswitches) then
+ if (token=_KLAMMERAFFE) and (([m_iso,m_extpas]*current_settings.modeswitches)<>[]) then
consume(_KLAMMERAFFE);
single_type(tt2,SingleTypeOptionsInTypeBlock[block_type=bt_type]);
@@ -498,6 +498,9 @@ implementation
if s='ISO' then
current_settings.modeswitches:=isomodeswitches
+ else
+ if s='EXTENDEDPASCAL' then
+ current_settings.modeswitches:=extpasmodeswitches
b:=false;
@@ -516,16 +519,16 @@ implementation
HandleModeSwitches(m_none,changeinit);
- { turn on bitpacking for mode macpas and iso pascal }
- if ([m_mac,m_iso] * current_settings.modeswitches <> []) then
+ { turn on bitpacking for mode macpas and iso pascal as well as extended pascal }
+ if ([m_mac,m_iso,m_extpas] * current_settings.modeswitches <> []) then
include(current_settings.localswitches,cs_bitpacking);
if changeinit then
include(init_settings.localswitches,cs_bitpacking);
- { support goto/label by default in delphi/tp7/mac modes }
- if ([m_delphi,m_tp7,m_mac,m_iso] * current_settings.modeswitches <> []) then
+ { support goto/label by default in delphi/tp7/mac/iso/extpas modes }
+ if ([m_delphi,m_tp7,m_mac,m_iso,m_extpas] * current_settings.modeswitches <> []) then
include(current_settings.moduleswitches,cs_support_goto);
@@ -3024,7 +3024,7 @@ implementation
savesize:=search_system_type('FILEREC').typedef.size;
{ allocate put/get buffer in iso mode }
inc(savesize,typedfiledef.size);
ft_untyped:
@@ -2305,7 +2305,7 @@ implementation
{ iso mode program parameters: staticvarsyms might have the same name as a program parameters,
in this case, copy the isoindex and make the original symbol invisible }
- else if (m_iso in current_settings.modeswitches) and (hsym.typ=programparasym) and (sym.typ=staticvarsym)
+ else if (m_isolike_program_para in current_settings.modeswitches) and (hsym.typ=programparasym) and (sym.typ=staticvarsym)
and (tprogramparasym(hsym).isoindex<>0) then
HideSym(hsym);
@@ -443,8 +443,8 @@ const
(str:'NOT' ;special:false;keyword:alllanguagemodes;op:_OP_NOT),
(str:'OUT' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'SET' ;special:false;keyword:alllanguagemodes;op:NOTOKEN),
- (str:'SHL' ;special:false;keyword:alllanguagemodes-[m_iso];op:_OP_SHL),
- (str:'SHR' ;special:false;keyword:alllanguagemodes-[m_iso];op:_OP_SHR),
+ (str:'SHL' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:_OP_SHL),
+ (str:'SHR' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:_OP_SHR),
(str:'TRY' ;special:false;keyword:[m_except];op:NOTOKEN),
(str:'VAR' ;special:false;keyword:alllanguagemodes;op:NOTOKEN),
(str:'XOR' ;special:false;keyword:alllanguagemodes;op:_OP_XOR),
@@ -463,9 +463,9 @@ const
(str:'SYSV' ;special:false;keyword:[m_none];op:NOTOKEN), { Syscall variation on MorphOS }
(str:'THEN' ;special:false;keyword:alllanguagemodes;op:NOTOKEN),
(str:'TYPE' ;special:false;keyword:alllanguagemodes;op:NOTOKEN),
- (str:'UNIT' ;special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'UNIT' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'UNIV' ;special:false;keyword:[m_mac];op:NOTOKEN),
- (str:'USES' ;special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'USES' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'WITH' ;special:false;keyword:alllanguagemodes;op:NOTOKEN),
(str:'ALIAS' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'ARRAY' ;special:false;keyword:alllanguagemodes;op:NOTOKEN),
@@ -493,7 +493,7 @@ const
(str:'INLINE' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'LEGACY' ;special:false;keyword:[m_none];op:NOTOKEN), { Syscall variation on MorphOS }
(str:'NESTED' ;special:false;keyword:[m_none];op:NOTOKEN),
- (str:'OBJECT' ;special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'OBJECT' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'PACKED' ;special:false;keyword:alllanguagemodes;op:NOTOKEN),
(str:'PASCAL' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'PUBLIC' ;special:false;keyword:[m_none];op:NOTOKEN),
@@ -505,19 +505,19 @@ const
(str:'STATIC' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'STORED' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'STRICT' ;special:false;keyword:[m_none];op:NOTOKEN),
- (str:'STRING' ;special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'STRING' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'SYSTEM' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'WINAPI' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'ASMNAME' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'CPPDECL' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'DEFAULT' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'DYNAMIC' ;special:false;keyword:[m_none];op:NOTOKEN),
- (str:'EXPORTS' ;special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'EXPORTS' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'FINALLY' ;special:false;keyword:[m_except];op:NOTOKEN),
(str:'FORWARD' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'GENERIC' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'IOCHECK' ;special:false;keyword:[m_none];op:NOTOKEN),
- (str:'LIBRARY' ;special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'LIBRARY' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'MESSAGE' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'MODULUS' ;special:false;keyword:[m_none];op:NOTOKEN), { delphi operator name }
(str:'PACKAGE' ;special:false;keyword:[m_none];op:NOTOKEN),
@@ -564,28 +564,28 @@ const
(str:'SUBTRACT' ;special:false;keyword:[m_none];op:NOTOKEN), { delphi operator name }
(str:'SYSVBASE' ;special:false;keyword:[m_none];op:NOTOKEN), { Syscall variation on MorphOS }
(str:'ASSEMBLER' ;special:false;keyword:[m_none];op:NOTOKEN),
- (str:'BITPACKED' ;special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'BITPACKED' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'BITWISEOR' ;special:false;keyword:[m_none];op:NOTOKEN), { delphi operator name }
- (str:'INHERITED' ;special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'INHERITED' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'INTDIVIDE' ;special:false;keyword:[m_none];op:NOTOKEN), { delphi operator name }
- (str:'INTERFACE' ;special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'INTERFACE' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'INTERRUPT' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'LEFTSHIFT' ;special:false;keyword:[m_none];op:NOTOKEN), { delphi operator name }
(str:'LOGICALOR' ;special:false;keyword:[m_none];op:NOTOKEN), { delphi operator name }
(str:'NODEFAULT' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'OBJCCLASS' ;special:false;keyword:[m_objectivec1];op:NOTOKEN),
- (str:'OTHERWISE' ;special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'OTHERWISE' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'PROCEDURE' ;special:false;keyword:alllanguagemodes;op:NOTOKEN),
(str:'PROTECTED' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'PUBLISHED' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'REFERENCE' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'SOFTFLOAT' ;special:false;keyword:[m_none];op:NOTOKEN),
- (str:'THREADVAR' ;special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'THREADVAR' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'WRITEONLY' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'BITWISEAND' ;special:false;keyword:[m_none];op:NOTOKEN), { delphi operator name }
(str:'BITWISEXOR' ;special:false;keyword:[m_none];op:NOTOKEN), { delphi operator name }
(str:'DEPRECATED' ;special:false;keyword:[m_none];op:NOTOKEN),
- (str:'DESTRUCTOR' ;special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'DESTRUCTOR' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'ENUMERATOR' ;special:false;keyword:[m_none];op:_OP_ENUMERATOR),
(str:'IMPLEMENTS' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'INTERNPROC' ;special:false;keyword:[m_none];op:NOTOKEN),
@@ -596,7 +596,7 @@ const
(str:'OPENSTRING' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'RIGHTSHIFT' ;special:false;keyword:[m_none];op:NOTOKEN), { delphi operator name }
(str:'SPECIALIZE' ;special:false;keyword:[m_none];op:NOTOKEN),
- (str:'CONSTRUCTOR' ;special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'CONSTRUCTOR' ;special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'GREATERTHAN' ;special:false;keyword:[m_none];op:NOTOKEN), { delphi operator name }
(str:'INTERNCONST' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'REINTRODUCE' ;special:false;keyword:[m_none];op:NOTOKEN),
@@ -610,9 +610,9 @@ const
(str:'WEAKEXTERNAL' ;special:false;keyword:[m_none];op:NOTOKEN),
(str:'DISPINTERFACE' ;special:false;keyword:[m_class];op:NOTOKEN),
(str:'UNIMPLEMENTED' ;special:false;keyword:[m_none];op:NOTOKEN),
- (str:'IMPLEMENTATION';special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'IMPLEMENTATION';special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'INITIALIZATION';special:false;keyword:[m_initfinal];op:NOTOKEN),
- (str:'RESOURCESTRING';special:false;keyword:alllanguagemodes-[m_iso];op:NOTOKEN),
+ (str:'RESOURCESTRING';special:false;keyword:alllanguagemodes-[m_iso,m_extpas];op:NOTOKEN),
(str:'LESSTHANOREQUAL';special:false;keyword:[m_none];op:NOTOKEN), { delphi operator name }
(str:'GREATERTHANOREQUAL';special:false;keyword:[m_none];op:NOTOKEN) { delphi operator name }
@@ -360,250 +360,250 @@ ifndef USELIBGGI
USELIBGGI=NO
endif
ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar unixtype ctypes strings objpas iso7185 macpas heaptrc baseunix unixutil termio unix initc cmem lnfogdb sysutils typinfo math fgl classes charset cpall character unixcp getopts errors dl dynlibs types sysconst rtlconsts cthreads dos cwstring fpwidestring fpintres $(CPU_UNITS)
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar unixtype ctypes strings objpas iso7185 extpas macpas heaptrc baseunix unixutil termio unix initc cmem lnfogdb sysutils typinfo math fgl classes charset cpall character unixcp getopts errors dl dynlibs types sysconst rtlconsts cthreads dos cwstring fpwidestring fpintres $(CPU_UNITS)
ifeq ($(FULL_TARGET),i386-go32v2)
ifeq ($(FULL_TARGET),i386-win32)
ifeq ($(FULL_TARGET),i386-os2)
ifeq ($(FULL_TARGET),i386-freebsd)
ifeq ($(FULL_TARGET),i386-beos)
ifeq ($(FULL_TARGET),i386-haiku)
ifeq ($(FULL_TARGET),i386-netbsd)
ifeq ($(FULL_TARGET),i386-solaris)
ifeq ($(FULL_TARGET),i386-qnx)
ifeq ($(FULL_TARGET),i386-netware)
ifeq ($(FULL_TARGET),i386-openbsd)
ifeq ($(FULL_TARGET),i386-wdosx)
ifeq ($(FULL_TARGET),i386-darwin)
ifeq ($(FULL_TARGET),i386-emx)
ifeq ($(FULL_TARGET),i386-watcom)
ifeq ($(FULL_TARGET),i386-netwlibc)
ifeq ($(FULL_TARGET),i386-wince)
ifeq ($(FULL_TARGET),i386-embedded)
ifeq ($(FULL_TARGET),i386-symbian)
ifeq ($(FULL_TARGET),i386-nativent)
ifeq ($(FULL_TARGET),i386-iphonesim)
ifeq ($(FULL_TARGET),i386-android)
ifeq ($(FULL_TARGET),i386-aros)
ifeq ($(FULL_TARGET),m68k-linux)
ifeq ($(FULL_TARGET),m68k-freebsd)
ifeq ($(FULL_TARGET),m68k-netbsd)
ifeq ($(FULL_TARGET),m68k-amiga)
ifeq ($(FULL_TARGET),m68k-atari)
ifeq ($(FULL_TARGET),m68k-openbsd)
ifeq ($(FULL_TARGET),m68k-palmos)
ifeq ($(FULL_TARGET),m68k-embedded)
ifeq ($(FULL_TARGET),powerpc-linux)
ifeq ($(FULL_TARGET),powerpc-netbsd)
ifeq ($(FULL_TARGET),powerpc-amiga)
ifeq ($(FULL_TARGET),powerpc-macos)
ifeq ($(FULL_TARGET),powerpc-darwin)
ifeq ($(FULL_TARGET),powerpc-morphos)
ifeq ($(FULL_TARGET),powerpc-embedded)
ifeq ($(FULL_TARGET),powerpc-wii)
ifeq ($(FULL_TARGET),powerpc-aix)
ifeq ($(FULL_TARGET),sparc-linux)
ifeq ($(FULL_TARGET),sparc-netbsd)
ifeq ($(FULL_TARGET),sparc-solaris)
ifeq ($(FULL_TARGET),sparc-embedded)
ifeq ($(FULL_TARGET),x86_64-linux)
ifeq ($(FULL_TARGET),x86_64-freebsd)
ifeq ($(FULL_TARGET),x86_64-netbsd)
ifeq ($(FULL_TARGET),x86_64-solaris)
ifeq ($(FULL_TARGET),x86_64-openbsd)
ifeq ($(FULL_TARGET),x86_64-darwin)
ifeq ($(FULL_TARGET),x86_64-win64)
ifeq ($(FULL_TARGET),x86_64-embedded)
ifeq ($(FULL_TARGET),x86_64-iphonesim)
ifeq ($(FULL_TARGET),x86_64-aros)
ifeq ($(FULL_TARGET),x86_64-dragonfly)
ifeq ($(FULL_TARGET),arm-linux)
ifeq ($(FULL_TARGET),arm-palmos)
ifeq ($(FULL_TARGET),arm-darwin)
ifeq ($(FULL_TARGET),arm-wince)
ifeq ($(FULL_TARGET),arm-gba)
ifeq ($(FULL_TARGET),arm-nds)
ifeq ($(FULL_TARGET),arm-embedded)
ifeq ($(FULL_TARGET),arm-symbian)
ifeq ($(FULL_TARGET),arm-android)
ifeq ($(FULL_TARGET),powerpc64-linux)
ifeq ($(FULL_TARGET),powerpc64-darwin)
ifeq ($(FULL_TARGET),powerpc64-embedded)
ifeq ($(FULL_TARGET),powerpc64-aix)
ifeq ($(FULL_TARGET),avr-embedded)
ifeq ($(FULL_TARGET),armeb-linux)
ifeq ($(FULL_TARGET),armeb-embedded)
ifeq ($(FULL_TARGET),mips-linux)
ifeq ($(FULL_TARGET),mipsel-linux)
ifeq ($(FULL_TARGET),mipsel-embedded)
ifeq ($(FULL_TARGET),mipsel-android)
ifeq ($(FULL_TARGET),jvm-java)
ifeq ($(FULL_TARGET),jvm-android)
ifeq ($(FULL_TARGET),i8086-msdos)
ifeq ($(FULL_TARGET),i8086-win16)
ifeq ($(FULL_TARGET),aarch64-linux)
ifeq ($(FULL_TARGET),aarch64-darwin)
override TARGET_IMPLICITUNITS+=cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852 unicodedata unicodenumtable
@@ -7,7 +7,7 @@ main=rtl
[target]
loaders=
-units=$(SYSTEMUNIT) uuchar unixtype ctypes strings objpas iso7185 macpas \
+units=$(SYSTEMUNIT) uuchar unixtype ctypes strings objpas iso7185 extpas macpas \
heaptrc \
baseunix unixutil \
termio unix initc cmem \
@@ -347,250 +347,250 @@ override FPCOPT+=-Ur
OBJPASDIR=$(RTL)/objpas
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpextres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 extpas strings fpextres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
override TARGET_IMPLICITUNITS+=cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852
@@ -3060,6 +3060,8 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
$(COMPILER) $(INC)/strings.pp
iso7185$(PPUEXT) : $(INC)/iso7185.pp $(SYSTEMUNIT)$(PPUEXT)
$(COMPILER) $(INC)/iso7185.pp
+extpas$(PPUEXT) : $(INC)/extpas.pp dos$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
+ $(COMPILER) $(INC)/extpas.pp
dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \
$(SYSTEMUNIT)$(PPUEXT)
$(COMPILER) $(AMIINC)/dos.pp
loaders=prt0
-units=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings \
+units=$(SYSTEMUNIT) uuchar objpas macpas iso7185 extpas strings \
fpextres dos heaptrc lineinfo ctypes \
sysutils fgl classes math typinfo \
charset cpall getopts \
@@ -104,6 +104,9 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
#
# System Dependent Units
@@ -1,5 +1,5 @@
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015/09/16]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-09-05 rev 31523]
default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-aros x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos i8086-win16 aarch64-linux aarch64-darwin
@@ -354,250 +354,250 @@ override FPCOPT+=-Ur
-override TARGET_UNITS+=$(SYSTEMUNIT) $(SYSINIT_UNITS) $(CPU_UNITS) uuchar unixtype ctypes baseunix strings objpas macpas iso7185 syscall unixutil fpintres heaptrc lineinfo lnfodwrf termio unix linux initc cmem linuxvcs sysutils typinfo math charset cpall character getopts errors dl dynlibs types sysconst cthreads classes fgl rtlconsts dos cwstring fpcylix unixcp fpwidestring
+override TARGET_UNITS+=$(SYSTEMUNIT) $(SYSINIT_UNITS) $(CPU_UNITS) uuchar unixtype ctypes baseunix strings objpas macpas iso7185 extpas syscall unixutil fpintres heaptrc lineinfo lnfodwrf termio unix linux initc cmem linuxvcs sysutils typinfo math charset cpall character getopts errors dl dynlibs types sysconst cthreads classes fgl rtlconsts dos cwstring fpcylix unixcp fpwidestring
override TARGET_IMPLICITUNITS+=exeinfo cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852 unicodedata unicodenumtable
@@ -3638,6 +3638,8 @@ cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) charset$(PPUEXT)
$(COMPILER) -Fu$(INC) -Fi$(RTL)/charmaps $(RTL)/charmaps/cpall.pas
fpintres$(PPUEXT) : $(INC)/fpintres.pp $(SYSTEMUNIT)$(PPUEXT)
$(COMPILER) $(INC)/fpintres.pp
fpwidestring$(PPUEXT): $(OBJPASDIR)/fpwidestring.pp character$(PPUEXT) unixcp$(PPUEXT)
@@ -8,7 +8,7 @@ main=rtl
loaders=$(LOADERS)
units=$(SYSTEMUNIT) $(SYSINIT_UNITS) $(CPU_UNITS) \
- uuchar unixtype ctypes baseunix strings objpas macpas iso7185 syscall unixutil \
+ uuchar unixtype ctypes baseunix strings objpas macpas iso7185 extpas syscall unixutil \
fpintres heaptrc lineinfo lnfodwrf termio unix linux initc cmem \
linuxvcs sysutils typinfo math charset cpall character \
getopts errors dl dynlibs \
@@ -253,6 +253,9 @@ cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) charset$(PPUEXT)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst character athreads
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 extpas strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst character athreads
fpintres dos heaptrc lineinfo ctypes \
@@ -347,250 +347,250 @@ endif
GRAPHDIR=$(INC)/graph
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 extpas strings dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
$(COMPILER) dos.pp
dos heaptrc lineinfo ctypes \
@@ -103,6 +103,9 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
@@ -347,250 +347,250 @@ override FPCOPT+= -dHASUNIX -n -dFPC_USE_LIBC -Si
-override TARGET_UNITS+=system uuchar baseunix unixtype ctypes objpas macpas iso7185 strings errors dos dl sysconst sysutils types charset cpall typinfo classes fgl math cpu mmx getopts heaptrc lineinfo lnfodwrf rtlconsts syscall unix unixutil termio initc cmem dynlibs cwstring unixcp
+override TARGET_UNITS+=system uuchar baseunix unixtype ctypes objpas macpas iso7185 extpas strings errors dos dl sysconst sysutils types charset cpall typinfo classes fgl math cpu mmx getopts heaptrc lineinfo lnfodwrf rtlconsts syscall unix unixutil termio initc cmem dynlibs cwstring unixcp
override TARGET_IMPLICITUNITS+=exeinfo cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852
loaders=prt0 cprt0 func dllprt
-units=system uuchar baseunix unixtype ctypes objpas macpas iso7185 strings \
+units=system uuchar baseunix unixtype ctypes objpas macpas iso7185 extpas strings \
# beos \
errors dos dl \
sysconst sysutils \
@@ -365,250 +365,250 @@ ifndef USELIBGGI
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar unixtype ctypes objpas macpas iso7185 strings sysctl baseunix unixutil unix initc cmem dynlibs $(CPU_UNITS) dos dl blockrtl sysutils typinfo fgl classes math types charset cpall character getopts heaptrc lineinfo lnfodwrf lnfogdb errors termio sysconst cthreads rtlconsts cwstring bsd fpwidestring fpintres fpextres objc objcbase unixcp
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar unixtype ctypes objpas macpas iso7185 extpas strings sysctl baseunix unixutil unix initc cmem dynlibs $(CPU_UNITS) dos dl blockrtl sysutils typinfo fgl classes math types charset cpall character getopts heaptrc lineinfo lnfodwrf lnfogdb errors termio sysconst cthreads rtlconsts cwstring bsd fpwidestring fpintres fpextres objc objcbase unixcp
@@ -2796,6 +2796,8 @@ uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp
fpintres$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT)
fpextres$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) baseunix$(PPUEXT)
iso7185$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT)
objpas$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
strings$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(INC)/strings.pp $(INC)/stringsi.inc\
# disabled units: serial
-units=$(SYSTEMUNIT) uuchar unixtype ctypes objpas macpas iso7185 \
+units=$(SYSTEMUNIT) uuchar unixtype ctypes objpas macpas iso7185 extpas \
strings sysctl baseunix unixutil \
unix initc cmem dynlibs $(CPU_UNITS) \
dos dl blockrtl \
@@ -131,6 +131,9 @@ fpextres$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) baseunix$(PPUEXT)
@@ -360,250 +360,250 @@ override FPCOPT+=-Ur
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar unixtype ctypes objpas macpas iso7185 strings syscall sysctl baseunix unixutil character unix rtlconsts initc cmem dl termio sysutils math typinfo types classes fgl dynlibs $(CPU_UNITS) charset cpall getopts heaptrc lnfodwrf lineinfo errors bsd console sysconst cthreads dos cwstring fpintres unixcp fpwidestring
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar unixtype ctypes objpas macpas iso7185 extpas strings syscall sysctl baseunix unixutil character unix rtlconsts initc cmem dl termio sysutils math typinfo types classes fgl dynlibs $(CPU_UNITS) charset cpall getopts heaptrc lnfodwrf lineinfo errors bsd console sysconst cthreads dos cwstring fpintres unixcp fpwidestring
@@ -10,7 +10,7 @@ fpcpackage=y
loaders=prt0 cprt0 gprt0 dllprt0
strings syscall sysctl baseunix unixutil character \
unix rtlconsts initc cmem \
dl termio \
@@ -421,250 +421,250 @@ endif
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 strings heapmgr consoleio $(CPU_SPECIFIC_COMMON_UNITS) dos ctypes charset cpall sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas strings heapmgr consoleio $(CPU_SPECIFIC_COMMON_UNITS) dos ctypes charset cpall sysconst
override TARGET_LOADERS+=$(LOADERS)
@@ -2694,6 +2694,8 @@ cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) charset$(PPUEXT)
define CPU_UNITS_RULE
$(1)$(PPUEXT): $(ARCH)/$(1).pp $(SYSTEMUNIT)$(PPUEXT)
endef
@@ -12,7 +12,7 @@ loaders=$(LOADERS)
# not all targets include enough features to build all units so
# the common units which are not compiled for all CPUs are stored in
# CPU_SPECIFIC_COMMON_UNITS
-units=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 strings heapmgr consoleio $(CPU_SPECIFIC_COMMON_UNITS) \
+units=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas strings heapmgr consoleio $(CPU_SPECIFIC_COMMON_UNITS) \
# macpas iso7185 strings
dos \
ctypes \
@@ -286,6 +286,9 @@ cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) charset$(PPUEXT)
# Unit specific rules
@@ -351,250 +351,250 @@ endif
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings ports os2def doscalls doscall2 moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos sysutils classes fgl math typinfo charset cpall cpu mmx getopts heaptrc lnfodwrf lineinfo dynlibs types rtlconst sysconst ctypes
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 extpas strings ports os2def doscalls doscall2 moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos sysutils classes fgl math typinfo charset cpall cpu mmx getopts heaptrc lnfodwrf lineinfo dynlibs types rtlconst sysconst ctypes
loaders=prt0 prt1
ports os2def doscalls doscall2 moncalls kbdcalls moucalls viocalls \
pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi \
@@ -363,250 +363,250 @@ override FPCOPT+=-Ur
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar unixtype ctypes objpas macpas iso7185 strings syscall sysctl baseunix unixutil character unix rtlconsts initc cmem dl termio sysutils math typinfo types classes fgl dynlibs $(CPU_UNITS) charset cpall getopts heaptrc lnfodwrf lineinfo errors bsd freebsd console sysconst cthreads dos cwstring fpintres unixcp fpwidestring
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar unixtype ctypes objpas macpas iso7185 extpas strings syscall sysctl baseunix unixutil character unix rtlconsts initc cmem dl termio sysutils math typinfo types classes fgl dynlibs $(CPU_UNITS) charset cpall getopts heaptrc lnfodwrf lineinfo errors bsd freebsd console sysconst cthreads dos cwstring fpintres unixcp fpwidestring
@@ -349,250 +349,250 @@ endif
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings sysutils classes math typinfo ctypes charset cpall getopts types rtlconsts sysconst lineinfo fgl
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 extpas strings sysutils classes math typinfo ctypes charset cpall getopts types rtlconsts sysconst lineinfo fgl
@@ -2818,6 +2818,8 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
# dos \
sysutils \
classes math typinfo ctypes \
@@ -106,6 +106,9 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
@@ -352,250 +352,250 @@ ifdef NO_EXCEPTIONS_IN_SYSTEM
override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM
-override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos cmem sysutils classes math typinfo cpu mmx getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset cpall types sysconst rtlconst
+override TARGET_UNITS+=system uuchar objpas macpas iso7185 extpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos cmem sysutils classes math typinfo cpu mmx getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset cpall types sysconst rtlconst
@@ -3070,6 +3070,9 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
iso7185$(PPUEXT) : $(INC)/iso7185.pp system$(PPUEXT)
$(EXECPPAS)
+ $(EXECPPAS)
go32$(PPUEXT) : go32.pp system$(PPUEXT)
$(COMPILER) go32.pp
@@ -5,7 +5,7 @@
main=rtl
loaders=prt0 exceptn fpu
-units=system uuchar objpas macpas iso7185 strings \
+units=system uuchar objpas macpas iso7185 extpas strings \
go32 dpmiexcp initc ports profile dxetype dxeload emu387 \
dos cmem \
sysutils classes math typinfo \
@@ -94,6 +94,11 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
@@ -348,250 +348,250 @@ override FPCOPT+= -dHASUNIX -n -dFPC_USE_LIBC -Si
-override TARGET_UNITS+=system uuchar baseunix unixtype ctypes objpas macpas iso7185 strings errors dos dl sysconst sysutils types charset cpall character typinfo classes fgl math cpu mmx getopts heaptrc lineinfo lnfodwrf rtlconsts syscall unix unixutil termio initc cmem dynlibs cwstring cthreads fpintres unixcp fpwidestring
+override TARGET_UNITS+=system uuchar baseunix unixtype ctypes objpas macpas iso7185 extpas strings errors dos dl sysconst sysutils types charset cpall character typinfo classes fgl math cpu mmx getopts heaptrc lineinfo lnfodwrf rtlconsts syscall unix unixutil termio initc cmem dynlibs cwstring cthreads fpintres unixcp fpwidestring
@@ -3356,6 +3356,8 @@ cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) charset$(PPUEXT)
fpwidestring$(PPUEXT) : $(OBJPASDIR)/fpwidestring.pp character$(PPUEXT) unixcp$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
loaders=prt0 cprt0 dllcprt0 func dllprt
@@ -220,6 +220,9 @@ cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) charset$(PPUEXT)
@@ -0,0 +1,66 @@
+{
+ This file is part of the Free Pascal Run time library.
+ Copyright (c) 2015 by Florian Klaempfl
+ This unit contain procedures specific for an extended pascal compatible mode.
+ It should be platform independent.
+ See the file COPYING.FPC, included in this distribution,
+ For details about the copyright.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ **********************************************************************}
+unit extpas;
+ interface
+ type
+ TimeStamp = packed record
+ DateValid : Boolean;
+ TimeValid : Boolean;
+ year : Integer;
+ month : 1..12;
+ day : 1..31;
+ hour : 0..23;
+ minute : 0..59;
+ second : 0..59;
+ { implementation specific }
+ second100 : 0..99;
+ procedure GetTimeStamp(var ts : TimeStamp);
+ implementation
+ uses
+ dos;
+ var
+ year1,month1,mday1,wday1,
+ year2,month2,mday2,wday2,
+ hour,minute,second,sec100 : word;
+ repeat
+ GetDate(year1,month1,mday1,wday1);
+ GetTime(hour,minute,second,sec100);
+ GetDate(year2,month2,mday2,wday2);
+ { the date may not have changed while we read the time }
+ until (year1=year2) and (month1=month2) and (mday1=mday2);
+ ts.DateValid:=true;
+ ts.TimeValid:=true;
+ ts.year:=year1;
+ ts.month:=month1;
+ ts.day:=mday1;
+ ts.hour:=hour;
+ ts.minute:=minute;
+ ts.second:=second;
+ ts.second100:=sec100;
+end.
@@ -374,250 +374,250 @@ override FPCOPT+=-Ur
-override TARGET_UNITS+=$(SYSTEMUNIT) fpintres $(SYSINIT_UNITS) uuchar unixtype ctypes baseunix strings objpas macpas iso7185 syscall unixutil heaptrc lineinfo lnfodwrf termio unix linux initc cmem $(CPU_UNITS) linuxvcs sysutils typinfo math charset cpall character unixcp getopts errors dl dynlibs types sysconst fpwidestring cthreads classes fgl rtlconsts dos cwstring fpcylix
+override TARGET_UNITS+=$(SYSTEMUNIT) fpintres $(SYSINIT_UNITS) uuchar unixtype ctypes baseunix strings objpas macpas iso7185 extpas syscall unixutil heaptrc lineinfo lnfodwrf termio unix linux initc cmem $(CPU_UNITS) linuxvcs sysutils typinfo math charset cpall character unixcp getopts errors dl dynlibs types sysconst fpwidestring cthreads classes fgl rtlconsts dos cwstring fpcylix
@@ -3731,6 +3731,8 @@ cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) charset$(PPUEXT)
fpwidestring$(PPUEXT): $(OBJPASDIR)/fpwidestring.pp character$(PPUEXT) unixcp$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
units=$(SYSTEMUNIT) fpintres $(SYSINIT_UNITS) \
heaptrc lineinfo lnfodwrf \
termio unix linux initc cmem $(CPU_UNITS) \
linuxvcs \
@@ -388,6 +388,9 @@ cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) charset$(PPUEXT)
-override TARGET_UNITS+=system uuchar strings objpas macpas iso7185 heaptrc getopts macostp macutils unixutil dos cmem charset cpall ctypes
+override TARGET_UNITS+=system uuchar strings objpas macpas iso7185 extpas heaptrc getopts macostp macutils unixutil dos cmem charset cpall ctypes
override TARGET_IMPLICITUNITS+=cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp932 cp936 cp949 cp950 cp8859_1 cp8859_5 cp8859_2 cp852
-units=system uuchar strings objpas macpas iso7185 heaptrc getopts macostp macutils \
+units=system uuchar strings objpas macpas iso7185 extpas heaptrc getopts macostp macutils \
unixutil dos cmem charset cpall ctypes
# exec \
# printer \
@@ -348,250 +348,250 @@ endif
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 extpas strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
fpintres dos heaptrc ctypes \
sysutils classes fgl math typinfo \
@@ -349,250 +349,250 @@ ifdef NO_EXCEPTIONS_IN_SYSTEM
-override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes lnfodwrf
+override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes lnfodwrf
@@ -2831,6 +2831,9 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
ports$(PPUEXT) : ports.pp objpas$(PPUEXT) system$(PPUEXT)
$(COMPILER) ports.pp
@@ -6,7 +6,7 @@ main=rtl
loaders=prt0s prt0t prt0m prt0c prt0l prt0h # exceptn fpu
units=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils \
- math macpas iso7185 rtlconst typinfo types \
+ math macpas iso7185 extpas rtlconst typinfo types \
getopts fgl classes \
msmouse ports \
charset cpall ctypes lnfodwrf
@@ -101,6 +101,11 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
@@ -357,250 +357,250 @@ endif
WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
-override TARGET_UNITS+=system uuchar objpas iso7185 cpall buildrtl
+override TARGET_UNITS+=system uuchar objpas iso7185 extpas cpall buildrtl
override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings rtlconsts sysconst sysutils math types typinfo fgl classes $(CPU_UNITS) charset getopts cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852
@@ -7,8 +7,8 @@ main=rtl
-#units=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
-units=system uuchar objpas iso7185 cpall buildrtl
+#units=system objpas macpas iso7185 extpas buildrtl lineinfo lnfodwrf
+units=system uuchar objpas iso7185 extpas cpall buildrtl
implicitunits=ndk ndkutils ddk \
ctypes strings \
# heaptrc
@@ -2822,6 +2822,8 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
@@ -109,6 +109,9 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
@@ -228,4 +231,4 @@ get9$(PPUEXT): get9.pas exec$(PPUEXT)
muihelper$(PPUEXT): muihelper.pas intuition$(PPUEXT) mui$(PPUEXT) doslib$(PPUEXT) utility$(PPUEXT)
ctypes$(PPUEXT) : $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $(INC)/ctypes.pp
+ $(COMPILER) $(INC)/ctypes.pp
@@ -362,250 +362,250 @@ ifeq ($(ARCH),i386)
CPU_UNITS=x86 ports cpu mmx
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar unixtype ctypes objpas macpas iso7185 strings syscall sysctl baseunix unixutil character unix rtlconsts initc cmem dl termio sysutils math typinfo types classes fgl dynlibs $(CPU_UNITS) charset cpall getopts heaptrc lnfodwrf lineinfo errors bsd sysconst cthreads dos cwstring fpintres unixcp fpwidestring
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar unixtype ctypes objpas macpas iso7185 extpas strings syscall sysctl baseunix unixutil character unix rtlconsts initc cmem dl termio sysutils math typinfo types classes fgl dynlibs $(CPU_UNITS) charset cpall getopts heaptrc lnfodwrf lineinfo errors bsd sysconst cthreads dos cwstring fpintres unixcp fpwidestring
loaders=prt0 cprt0 dllprt0
@@ -355,250 +355,250 @@ requestr.imp socklib.imp streams.imp threads.imp \
tli.imp vollib.imp ws2_32.imp ws2nlm.imp unicode.imp \
nwpre.imp
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings lineinfo lnfodwrf heaptrc dos sysconst initc sysutils types typinfo fgl classes cpu mmx getopts charset cpall rtlconsts math cmem dynlibs aio nwsnut nwserv nwnit nwprot netware nwcalls ctypes nwpre
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 extpas strings lineinfo lnfodwrf heaptrc dos sysconst initc sysutils types typinfo fgl classes cpu mmx getopts charset cpall rtlconsts math cmem dynlibs aio nwsnut nwserv nwnit nwprot netware nwcalls ctypes nwpre
loaders=nwpre prelude
lineinfo lnfodwrf heaptrc \
dos sysconst \
initc sysutils types typinfo fgl classes \
@@ -348,250 +348,250 @@ CREATESMART=1
override BINUTILSPREFIX=$(CPU_TARGET)-netware-
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings lineinfo lnfodwrf heaptrc nwsnut libc dos sysconst initc sysutils types typinfo fgl classes cpu mmx getopts charset cpall rtlconsts math dynlibs cmem ctypes
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 extpas strings lineinfo lnfodwrf heaptrc nwsnut libc dos sysconst initc sysutils types typinfo fgl classes cpu mmx getopts charset cpall rtlconsts math dynlibs cmem ctypes
loaders=nwplibc nwl_main nwl_dlle
nwsnut libc dos sysconst \
@@ -367,250 +367,250 @@ ifndef USELIBGGI
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unixtype unixutil unix ctypes bsd initc $(CPU_UNITS) dos rtlconsts sysutils fgl classes typinfo math charset cpall character getopts heaptrc lineinfo lnfodwrf errors types sysctl sysconst fpintres dynlibs cwstring cmem dl termio cthreads unixcp fpwidestring
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 extpas strings syscall baseunix $(LINUXUNIT) unixtype unixutil unix ctypes bsd initc $(CPU_UNITS) dos rtlconsts sysutils fgl classes typinfo math charset cpall character getopts heaptrc lineinfo lnfodwrf errors types sysctl sysconst fpintres dynlibs cwstring cmem dl termio cthreads unixcp fpwidestring
-units=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings syscall baseunix \
+units=$(SYSTEMUNIT) uuchar objpas macpas iso7185 extpas strings syscall baseunix \
$(LINUXUNIT) unixtype unixutil unix ctypes bsd initc \
$(CPU_UNITS) dos rtlconsts \
sysutils fgl classes typinfo math \
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar ctypes objpas macpas iso7185 strings ports os2def doscalls doscall2 moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos sysutils fgl classes math typinfo charset cpall cpu mmx getopts heaptrc lineinfo lnfodwrf dynlibs types rtlconst sysconst so32dll fpwidestring character unicodedata unicodenumtable
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar ctypes objpas macpas iso7185 extpas strings ports os2def doscalls doscall2 moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos sysutils fgl classes math typinfo charset cpall cpu mmx getopts heaptrc lineinfo lnfodwrf dynlibs types rtlconst sysconst so32dll fpwidestring character unicodedata unicodenumtable
-units=$(SYSTEMUNIT) uuchar ctypes objpas macpas iso7185 strings \
+units=$(SYSTEMUNIT) uuchar ctypes objpas macpas iso7185 extpas strings \
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar ctypes objpas macpas iso7185 strings lnfodwrf lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes fmtbcd strutils convutils math dateutils varutils variants matrix ucomplex charset cpall getopts winsock sockets
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar ctypes objpas macpas iso7185 extpas strings lnfodwrf lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes fmtbcd strutils convutils math dateutils varutils variants matrix ucomplex charset cpall getopts winsock sockets
loaders= prt0
lnfodwrf lineinfo heaptrc \
windows messages dynlibs \
dos objects \
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar unixtype ctypes strings objpas iso7185 macpas heaptrc lineinfo lnfodwrf baseunix unixutil unixcp termio unix initc cmem sysutils typinfo math fgl classes charset cpall getopts errors dl dynlibs types sysconst character rtlconsts cthreads dos fpwidestring cwstring fpintres $(CPU_UNITS)
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar unixtype ctypes strings objpas iso7185 extpas macpas heaptrc lineinfo lnfodwrf baseunix unixutil unixcp termio unix initc cmem sysutils typinfo math fgl classes charset cpall getopts errors dl dynlibs types sysconst character rtlconsts cthreads dos fpwidestring cwstring fpintres $(CPU_UNITS)
@@ -2860,6 +2860,8 @@ fpwidestring$(PPUEXT): $(OBJPASDIR)/fpwidestring.pp character$(PPUEXT) unixcp$(P
$(COMPILER) $(OBJPASDIR)/fpwidestring.pp
errors$(PPUEXT) : $(UNIXINC)/errors.pp strings$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
baseunix unixutil unixcp \
@@ -250,6 +250,9 @@ fpwidestring$(PPUEXT): $(OBJPASDIR)/fpwidestring.pp character$(PPUEXT) unixcp$(P
@@ -344,250 +344,250 @@ UNITPREFIX=rtl
SYSTEMUNIT=system
-override TARGET_UNITS+=system uuchar objpas macpas iso7185 buildrtl
+override TARGET_UNITS+=system uuchar objpas macpas iso7185 extpas buildrtl
override TARGET_IMPLICITUNITS+=ctypes strings symbian
@@ -6,7 +6,7 @@
-units=system uuchar objpas macpas iso7185 buildrtl
+units=system uuchar objpas macpas iso7185 extpas buildrtl
implicitunits=ctypes strings \
symbian
#exceptn fpu
-units=system uuchar objpas macpas iso7185 strings watcom dos \
+units=system uuchar objpas macpas iso7185 extpas strings watcom dos \
cpu charset cpall types getopts heaptrc lnfodwrf lineinfo ctypes fgl \
math typinfo mmx \
sysutils
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings dos sysutils classes math typinfo ctypes charset cpall getopts types rtlconsts sysconst lineinfo fgl cmem
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 extpas strings dos sysutils classes math typinfo ctypes charset cpall getopts types rtlconsts sysconst lineinfo fgl cmem
@@ -2540,6 +2540,8 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
classes \
@@ -94,6 +94,9 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
-override TARGET_UNITS+=system uuchar objpas strings iso7185 dos wintypes winprocs win31 dynlibs sysconst rtlconst
+override TARGET_UNITS+=system uuchar objpas strings iso7185 extpas dos wintypes winprocs win31 dynlibs sysconst rtlconst
override TARGET_LOADERS+=prt0s prt0m prt0c prt0l prt0h
@@ -2585,6 +2585,9 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
wintypes$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) wintypes.pp wintypes.inc
$(COMPILER) wintypes.pp
loaders=prt0s prt0m prt0c prt0l prt0h
-units=system uuchar objpas strings iso7185 dos \
+units=system uuchar objpas strings iso7185 extpas dos \
wintypes winprocs win31 dynlibs \
sysconst rtlconst
@@ -93,6 +93,10 @@ iso7185$(PPUEXT) : $(INC)/iso7185.pp $(SYSTEMUNIT)$(PPUEXT)
# WinAPI Units
@@ -352,496 +352,496 @@ OBJPASDIR=$(RTL)/objpas
include $(WININC)/makefile.inc
-override TARGET_UNITS+=system uuchar objpas macpas iso7185 buildrtl cpall lineinfo lnfodwrf
+override TARGET_UNITS+=system uuchar objpas macpas iso7185 extpas buildrtl cpall lineinfo lnfodwrf
-override TARGET_IMPLICITUNITS+=sysinitpas sysinitcyg sysinitgprof ctypes strings heaptrc windows initc cmem dynlibs signals dos messages rtlconsts sysconst sysutils math types typinfo fgl classes cpu mmx charset character getopts fpwidestring winsysut sharemem exeinfo fpintres windirs cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852 unicodedata unicodenumtable
+override TARGET_IMPLICITUNITS+=sysinitpas sysinitcyg sysinitgprof extpas ctypes strings heaptrc windows initc cmem dynlibs signals dos messages rtlconsts sysconst sysutils math types typinfo fgl classes cpu mmx charset character getopts fpwidestring winsysut sharemem exeinfo fpintres windirs cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852 unicodedata unicodenumtable
@@ -3067,6 +3067,8 @@ macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) buildrtl$(PPUEXT)
$(COMPILER) $(INC)/macpas.pp
iso7185$(PPUEXT) : $(INC)/iso7185.pp buildrtl$(PPUEXT)
lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT)
$(COMPILER) $(INC)/lineinfo.pp
lnfodwrf$(PPUEXT) : $(INC)/lnfodwrf.pp $(SYSTEMUNIT)$(PPUEXT)
@@ -7,8 +7,9 @@ main=rtl
-units=system uuchar objpas macpas iso7185 buildrtl cpall lineinfo lnfodwrf
+units=system uuchar objpas macpas iso7185 extpas buildrtl cpall lineinfo lnfodwrf
implicitunits=sysinitpas sysinitcyg sysinitgprof \
+ extpas \
windows initc cmem dynlibs signals \
@@ -20,7 +21,7 @@ implicitunits=sysinitpas sysinitcyg sysinitgprof \
winsysut sharemem exeinfo fpintres windirs \
cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 \
cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852 \
- unicodedata unicodenumtable
+ unicodedata unicodenumtable
# shared=$(DLLS)
@@ -120,6 +121,9 @@ macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) buildrtl$(PPUEXT)
@@ -4,6 +4,7 @@ unit buildrtl;
uses
sysinitpas, sysinitcyg, sysinitgprof,
+ extpas,
ctypes, strings,
heaptrc,
windows, initc, cmem, dynlibs, signals,
@@ -594,250 +594,250 @@ ifeq ($(FULL_TARGET),aarch64-darwin)
override TARGET_UNITS+=system uuchar objpas macpas iso7185 buildrtl cpall lineinfo lnfodwrf
-override TARGET_IMPLICITUNITS+=ctypes strings heaptrc dos messages windows cmem dynlibs rtlconsts sysconst sysutils math types typinfo fgl classes getopts charset character fpwidestring sharemem exeinfo fpintres windirs cpu signals cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852 unicodedata unicodenumtable
+override TARGET_IMPLICITUNITS+=ctypes strings extpas heaptrc dos messages windows cmem dynlibs rtlconsts sysconst sysutils math types typinfo fgl classes getopts charset character fpwidestring sharemem exeinfo fpintres windirs cpu signals cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852 unicodedata unicodenumtable
@@ -9,6 +9,7 @@ main=rtl
units=system uuchar objpas macpas iso7185 buildrtl cpall lineinfo lnfodwrf
dos messages \
windows cmem dynlibs \
@@ -3,6 +3,7 @@ unit buildrtl;
interface
windows, cmem, dynlibs,
@@ -351,250 +351,250 @@ GRAPHDIR=$(INC)/graph
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar fpintres ctypes objpas macpas iso7185 strings lineinfo heaptrc windows messages dynlibs dos rtlconsts sysconst sysutils typinfo types fgl classes math fpwidestring charset cpall getopts unicodedata unicodenumtable character cmem sharemem
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar fpintres ctypes objpas macpas iso7185 extpas strings lineinfo heaptrc windows messages dynlibs dos rtlconsts sysconst sysutils typinfo types fgl classes math fpwidestring charset cpall getopts unicodedata unicodenumtable character cmem sharemem
@@ -2540,6 +2540,8 @@ objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
$(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
-units=$(SYSTEMUNIT) uuchar fpintres ctypes objpas macpas iso7185 strings \
+units=$(SYSTEMUNIT) uuchar fpintres ctypes objpas macpas iso7185 extpas strings \
lineinfo heaptrc \
@@ -111,6 +111,9 @@ objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
@@ -0,0 +1,22 @@
+{$mode extendedpascal}
+var
+ ts : TimeStamp;
+begin
+ { just test if the functions exist }
+ GetTimeStamp(ts);
+ if ts.DateValid then
+ writeln(ts.year);
+ writeln(ts.month);
+ writeln(ts.day);
+ if ts.TimeValid then
+ writeln(ts.hour);
+ writeln(ts.minute);
+ writeln(ts.second);