..
aarch64
Implement support for saving and restoring address registers.
2013-10-05 21:43:42 +00:00
alpha
+ support for handling OS_128/OS_S128 on 64 Bit CPUs as far as needed for method pointers in registers
2012-09-06 15:12:12 +00:00
arm
support label offsets for ARM like GAS, allows things like ADR r4, .label + 256
2013-11-05 18:10:54 +00:00
avr
Implement support for saving and restoring address registers.
2013-10-05 21:43:42 +00:00
generic
html
i386
* set p to a valid instruction
2013-11-01 20:09:28 +00:00
i8086
+ handle 32 bit references on x86-64 so lea can be used for 32 bit arithmetics
2013-11-01 19:01:39 +00:00
ia64
* -O4 switch for optimizations which are correct but which might have unexpected effects
2012-08-09 18:58:54 +00:00
jvm
* fixed compilation after r25847 (mantis #25237 )
2013-10-27 17:35:04 +00:00
m68k
enabled hardware mul reg, reg codepath for ColdFire too, accelerates tfloattostr test (thus some of the SoftFPU code) by a magnitude...
2013-10-13 21:36:24 +00:00
mips
* tmipsaddnode.second_addfloat: don't bother reusing locations, always allocate a new register for result.
2013-10-26 18:15:24 +00:00
msg
compiler:
2013-10-08 04:56:42 +00:00
powerpc
Implement support for saving and restoring address registers.
2013-10-05 21:43:42 +00:00
powerpc64
Implement support for saving and restoring address registers.
2013-10-05 21:43:42 +00:00
ppcgen
* set symbol type/binding of data referred by ppc and arm/darwin stubs (part
2013-08-17 16:26:37 +00:00
sparc
* fixed size of temporary register used to evaluate smallset<=/>=smallset
2013-10-27 17:34:59 +00:00
systems
+ tell wlink to add dwarf debug info to the executable when -gw2/3/4 is used
2013-10-27 20:30:00 +00:00
utils
+ added i8086 to the list of supported CPUs by FPC.exe
2013-10-15 13:29:51 +00:00
vis
x86
+ handle 32 bit references on x86-64 so lea can be used for 32 bit arithmetics
2013-11-01 19:01:39 +00:00
x86_64
+ handle 32 bit references on x86-64 so lea can be used for 32 bit arithmetics
2013-11-01 19:01:39 +00:00
aasmbase.pas
* indention fixes
2013-05-03 20:41:55 +00:00
aasmdata.pas
* Removed tasmdata.realname (it is not used anywhere) and changed tasmdata.name to pshortstring. The name string is owned by tmodule and referenced by tasmdata. This removes 80-char limit on tasmdata.name, Mantis #25009 .
2013-09-19 10:06:43 +00:00
aasmsym.pas
aasmtai.pas
* fix handling of register sets on m68k: it is required that they are stored as two tcpuregistersets because address registers and data registers have different register types
2013-10-09 18:15:06 +00:00
aggas.pas
Improve the cpu type handling for M68k just in case we should branch 2.8.0 before I can start working on M68k again.
2013-09-11 17:07:32 +00:00
agjasmin.pas
* initialise dollarsign field of jasmin tasminfo
2012-10-21 17:56:16 +00:00
aopt.pas
* more consistent updates of used registers
2012-08-22 19:52:15 +00:00
aoptbase.pas
* simplified RegInInstruction() and fixed range errors
2013-11-06 10:46:22 +00:00
aoptcs.pas
aoptda.pas
aoptobj.pas
* check if the pointer is really assigned when trying to remove unneeded jumps
2013-10-27 16:47:34 +00:00
asmutils.pas
* Changed section for ansi/wide/unicodestring constants, resourcestrings (content only) and dataconstnodes from sec_rodata to sec_rodata_norel, because they never contain relocations.
2012-11-18 17:00:18 +00:00
assemble.pas
Improve the cpu type handling for M68k just in case we should branch 2.8.0 before I can start working on M68k again.
2013-09-11 17:07:32 +00:00
browcol.pas
Avoid range check error in IDE by changing value of sfHasMemInfo constant to fit with longint value
2012-11-07 16:22:57 +00:00
bsdcompile
catch.pas
ccharset.pas
compiler, rtl: move cpXXXX.pas files from compiler to RTL\charmaps directory and cleanup them, enable charmaps building for the majority of targets
2013-03-12 01:35:25 +00:00
cclasses.pas
Fix for Mantis #21051 . Correctly handle specializations that occur during the specialization of methods.
2013-09-26 08:15:58 +00:00
cfidwarf.pas
cfileutl.pas
Allow compilation of compiler with 2.6.x RTL for simplyfied development.
2013-09-11 16:05:24 +00:00
cg64f32.pas
* refactored cg64f32.splitparaloc64 to use cgpara.locations_count
2013-05-19 18:44:54 +00:00
cgbase.pas
* fold mov/lea/mov as well if possible
2013-11-01 19:01:29 +00:00
cghlcpu.pas
cgobj.pas
* specify AT_DATA in all references to the tobjectdef.vmt_mangledname symbol.
2013-10-15 18:56:27 +00:00
cgutils.pas
* tlocation.value reverted back to longint on non 64-bit archs. This fixes the tset5.pp and tset5a.pp regressions on powerpc and probably other 32-bit platforms.
2013-04-28 17:52:06 +00:00
cmsgs.pas
comphook.pas
Increase status.errorcount only inside GenerateError procedure, to simplify debugging
2013-01-16 09:45:57 +00:00
compiler.pas
applied fix from trunk for building with fpc 2.6.x on unix
2013-03-09 18:35:24 +00:00
compinnr.inc
+ pseudo procedure aligned: tells the compiler to assume that the given parameter is naturally aligned, counterpart of unaligned
2013-01-04 19:13:24 +00:00
comprsrc.pas
constexp.pas
* workaround for 2.6.x to avoid overflow errors when compiled with -CRiot
2013-06-26 21:40:52 +00:00
COPYING.txt
* updated address of FSF (mantis #24646 , patch by Alexey Svistunov)
2013-06-27 14:04:34 +00:00
cpid.pas
crefs.pas
cresstr.pas
* i8086 medium model fixes in Tresourcestrings.CreateResourceStringData
2013-08-18 21:18:22 +00:00
cstreams.pas
cutils.pas
+ added min and max functions for Tconstexprint
2013-04-01 20:23:14 +00:00
cwindirs.pp
dbgbase.pas
* correctly deal with writing debug information in the Stabs writer for class
2012-07-26 14:27:10 +00:00
dbgdwarf.pas
+ added enum Tdwarf_addr with the values of DW_AT_address_class (to be used for
2013-10-27 18:40:59 +00:00
dbgstabs.pas
compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation)
2013-01-16 01:14:23 +00:00
dbgstabx.pas
* fixed writing of local static symbols on AIX
2012-10-14 15:59:49 +00:00
defcmp.pas
Fix for Mantis #25132
2013-10-25 19:50:56 +00:00
defutil.pas
+ added is_farpointer(tdef) and is_hugepointer(tdef) helper functions to defutil
2013-06-10 20:50:05 +00:00
dirparse.pas
* moved UpdateAlignmentStr, UpdateOptimizerStr, UpdateWpoStr and UpdateDebugStr from unit globals to unit dirparse
2013-10-04 08:26:02 +00:00
elfbase.pas
+ Added values for DT_FLAGS and DT_FLAGS_1 dynamic tags.
2013-03-29 14:46:44 +00:00
export.pas
expunix.pas
* Add missing checks for android target.
2013-01-21 12:08:25 +00:00
finput.pas
* patch by Aleksa Todorovic: store relative include paths in PPUs, resolves #9961
2013-03-17 16:22:00 +00:00
fmodule.pas
* Removed tasmdata.realname (it is not used anywhere) and changed tasmdata.name to pshortstring. The name string is owned by tmodule and referenced by tasmdata. This removes 80-char limit on tasmdata.name, Mantis #25009 .
2013-09-19 10:06:43 +00:00
fpccrc.pas
fpcdefs.inc
Improve the cpu type handling for M68k just in case we should branch 2.8.0 before I can start working on M68k again.
2013-09-11 17:07:32 +00:00
fppu.pas
+ added i8086 memory model flags to the ppu flags and added a check that prevents the using of units compiled for different memory models
2013-08-25 16:45:04 +00:00
gendef.pas
globals.pas
* the default packrecords setting changed to 1 on i8086 for Turbo Pascal 7
2013-10-07 20:42:17 +00:00
globstat.pas
Fix for Mantis #22160
2012-09-25 09:45:25 +00:00
globtype.pas
+ added new field 'define' to ttargetswitchinfo, which specifies a system macro
2013-09-28 14:14:32 +00:00
hlcg2ll.pas
+ def_cgmmsize() that returns a vector tcgsize for arraydefs (as generated
2013-06-02 10:24:08 +00:00
hlcgobj.pas
- removed commented out duplicate thlcg.getmmregister()
2013-10-31 12:30:53 +00:00
htypechk.pas
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
2013-10-25 19:44:27 +00:00
impdef.pas
import.pas
ldscript.pas
+ Basic ld script parsing capabilities (barely enough to parse glibc2.1 'libc.so' files, lacks any error handling).
2012-08-21 08:37:39 +00:00
link.pas
* Changed linking infrastructure to look like assembler one:
2013-08-18 12:01:21 +00:00
macho.pas
machoutils.pas
Makefile
* regenerated fpcmake makefiles after r25642
2013-10-05 10:11:27 +00:00
Makefile.fpc
* make insdatx86 now also refereshes the i8086 ins files
2013-09-28 21:08:21 +00:00
MPWMake
msgidx.inc
compiler:
2013-10-08 04:56:42 +00:00
msgtxt.inc
compiler:
2013-10-08 04:56:42 +00:00
nadd.pas
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
2013-10-25 19:44:27 +00:00
nbas.pas
* keep managed types in registers if possible. Under certain circumstances (if they don't require init/final code,
2013-06-23 15:16:30 +00:00
ncal.pas
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
2013-10-25 19:44:27 +00:00
ncgadd.pas
* do not reuse register on x86 either
2013-11-01 20:08:30 +00:00
ncgbas.pas
* keep managed types in registers if possible. Under certain circumstances (if they don't require init/final code,
2013-06-23 15:16:30 +00:00
ncgcal.pas
Implement volatile address registers. Fixes quite some tests, but also breaks others... (overall more are fixed than are broken :) )
2013-10-03 20:33:11 +00:00
ncgcnv.pas
Refactor tobjectdef.find_implemented_interface out into unit defcmp so that the recently introduced cycle between symdef and defcmp can be broken again.
2013-10-23 19:05:00 +00:00
ncgcon.pas
* i8086 specific code from tcgpointerconstnode.pass_generate_code moved to an i8086 specific overriden method
2013-05-24 17:16:55 +00:00
ncgflw.pas
* specify AT_DATA in all references to the tobjectdef.vmt_mangledname symbol.
2013-10-15 18:56:27 +00:00
ncginl.pas
* specify AT_DATA in all references to the tobjectdef.vmt_mangledname symbol.
2013-10-15 18:56:27 +00:00
ncgld.pas
* specify AT_DATA when refering to the 'RESSTR' symbols; among other things,
2013-10-15 22:06:16 +00:00
ncgmat.pas
* fixed tcgnotnode.second_64bit for 8/16-bit cpus after r24678
2013-06-01 14:05:53 +00:00
ncgmem.pas
* specify AT_DATA in all references to the tobjectdef.vmt_mangledname symbol.
2013-10-15 18:56:27 +00:00
ncgnstld.pas
ncgnstmm.pas
ncgobjc.pas
ncgopt.pas
ncgrtti.pas
* fixed class VMT generation for the i8086 medium memory model (near code, far data) by setting correctly the Tasmsymtype to each symbol according to whether it points to code or data
2013-08-18 00:03:55 +00:00
ncgset.pas
* 16-bit ALU fixes in tcgcasenode.genlinearcmplist
2013-03-24 22:40:27 +00:00
ncgutil.pas
* 16/8-bit ALU fixes in ncgutil.gen_free_symtable
2013-10-13 16:48:15 +00:00
ncgvmt.pas
* fixed class VMT generation for the i8086 medium memory model (near code, far data) by setting correctly the Tasmsymtype to each symbol according to whether it points to code or data
2013-08-18 00:03:55 +00:00
ncnv.pas
* comment updated
2013-11-01 20:22:46 +00:00
ncon.pas
* also compare the type of tordconstnode in docompare, so that the node CSE
2013-09-28 14:12:50 +00:00
nflw.pas
* traisenode.pass_typecheck: in the case of 'raise X at addr,frame' require 'addr' to be a far pointer in i8086 far code memory models
2013-09-17 21:31:30 +00:00
ngenutil.pas
+ -CTinitlocals switch for the JVM that initialises all local variables
2013-08-29 22:21:23 +00:00
ngtcon.pas
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
2013-10-25 19:44:27 +00:00
ninl.pas
* Handle "SarInt64" always as internal procedure, introduced virtual method tinlinenode.first_sar that by default converts it into call to "fpc_sarint64" unless target CPU is 64-bit. This provides a point to insert target-specific optimizations.
2013-10-28 14:31:36 +00:00
nld.pas
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
2013-10-25 19:44:27 +00:00
nmat.pas
* tmoddivnode.firstoptimize improvements/fixes:
2013-10-28 15:55:13 +00:00
nmem.pas
+ implemented absolute seg:ofs vars on i8086
2013-10-05 22:16:33 +00:00
nobj.pas
* Moved all code responsible for writing VMTs and interface wrappers (nobj.TVMTWriter, ncgutil.gen_intf_wrappers, ptype.write_persistent_type_info) into a new unit ncgvmt.pas.
2013-04-19 13:31:27 +00:00
nobjc.pas
node.pas
* Handle assigned(x) expressions entirely in first pass by converting them to "x<>nil", indicate that procedure variables should not be called by setting nf_load_procvar flag (which is already used with typeconvnode for exactly the same purpose). This allows to generate better code when assigned(x) is used on right side of assigments. Mantis #24572 .
2013-09-16 14:38:38 +00:00
nopt.pas
* when concatenating ansistrings, do not map CP_NONE (rawbytestring) to
2013-07-19 16:33:14 +00:00
nset.pas
compiler: remove unused variables and unneeded assignments
2013-01-21 01:24:36 +00:00
nstate.pas
nutils.pas
Implement cross unit type overloading of generics. This fixes the regression introduced with revision 25498.
2013-09-18 14:28:46 +00:00
objcdef.pas
objcgutl.pas
objcutil.pas
ogbase.pas
+ Property TObjSymbol.ObjData, allows to access owning TObjData for external/common symbols, i.e. ones with ObjSection=nil.
2013-07-30 09:23:48 +00:00
ogcoff.pas
* Replaced oso_disabled flag by TExeSection.Disabled boolean property. Makes code a bit nicer to read.
2013-04-28 20:29:49 +00:00
ogelf.pas
+ Property TObjSymbol.ObjData, allows to access owning TObjData for external/common symbols, i.e. ones with ObjSection=nil.
2013-07-30 09:23:48 +00:00
oglx.pas
ogmacho.pas
ogmap.pas
+ Property TObjSymbol.ObjData, allows to access owning TObjData for external/common symbols, i.e. ones with ObjSection=nil.
2013-07-30 09:23:48 +00:00
ognlm.pas
* Replaced oso_disabled flag by TExeSection.Disabled boolean property. Makes code a bit nicer to read.
2013-04-28 20:29:49 +00:00
optbase.pas
optcse.pas
* work with actualtargetnode when checking load nodes for cse
2013-09-07 17:44:44 +00:00
optdead.pas
optdfa.pas
+ introduce cnf_call_never_returns to signal the dfa if a call node never returns
2013-04-21 16:53:25 +00:00
options.pas
+ allow smartlinking and dwarf debug info at the same time for i8086-msdos
2013-10-27 20:26:34 +00:00
optloop.pas
* store break/continue usage in a variable
2013-08-11 21:13:24 +00:00
opttail.pas
* optimize also tail calls, if it is a simple procedure
2013-10-06 13:51:38 +00:00
optutils.pas
+ has_life_info
2013-06-14 20:52:40 +00:00
optvirt.pas
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
2013-10-25 19:44:27 +00:00
owar.pas
+ Basic ld script parsing capabilities (barely enough to parse glibc2.1 'libc.so' files, lacks any error handling).
2012-08-21 08:37:39 +00:00
owbase.pas
* Don't access tcfilestream.size 3 times in sequence, as each access costs two seeks (syscalls).
2012-07-12 16:10:34 +00:00
parabase.pas
* add a tdef to each parameter location and set it for all target
2013-06-02 10:24:02 +00:00
paramgr.pas
Implement volatile address registers. Fixes quite some tests, but also breaks others... (overall more are fixed than are broken :) )
2013-10-03 20:33:11 +00:00
parser.pas
Increase status.errorcount only inside GenerateError procedure, to simplify debugging
2013-01-16 09:45:57 +00:00
pass_1.pas
pass_2.pas
pbase.pas
compiler:
2013-10-08 04:56:42 +00:00
pdecl.pas
* don't generate typed constant initialisers for set and enum constants
2013-11-06 16:10:58 +00:00
pdecobj.pas
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
2013-10-25 19:44:27 +00:00
pdecsub.pas
Refactor tobjectdef.find_implemented_interface out into unit defcmp so that the recently introduced cycle between symdef and defcmp can be broken again.
2013-10-23 19:05:00 +00:00
pdecvar.pas
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
2013-10-25 19:44:27 +00:00
pexports.pas
* handle exports with a name consisting of a single character correctly
2012-07-22 14:23:09 +00:00
pexpr.pas
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
2013-10-25 19:44:27 +00:00
pgenutil.pas
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
2013-10-25 19:44:27 +00:00
pinline.pas
Implement cross unit type overloading of generics. This fixes the regression introduced with revision 25498.
2013-09-18 14:28:46 +00:00
pmodules.pas
compiler: remove unneeded push/pop to symtablestack
2013-09-18 05:24:19 +00:00
pp.lpi
* project file updated for newer lazarus versions
2013-10-06 13:13:53 +00:00
pp.pas
cpu_i8086 and system_i8086_msdos added to the systems.inc enums
2013-03-07 22:38:35 +00:00
pparautl.pas
* add $parentfp as a first parameter on i8086, instead of last. This makes
2013-10-18 21:37:06 +00:00
ppc68k.lpi
* project file updates
2012-09-08 21:58:45 +00:00
ppc8086.lpi
+ i8086/n8086cnv.pas added to lazarus project
2013-06-10 01:19:22 +00:00
ppcaarch64.lpi
+ lazarus compiler project for aarch64
2012-12-16 12:35:02 +00:00
ppcarm.lpi
* project file updates
2012-09-08 21:58:45 +00:00
ppcavr.lpi
* project file updates
2012-09-08 21:58:45 +00:00
ppcjvm.lpi
* jvm lazarus project file properly named
2013-04-28 08:39:20 +00:00
ppcmips.lpi
* project file updates
2012-09-08 21:58:45 +00:00
ppcmipsel.lpi
* project file updates
2012-09-08 21:58:45 +00:00
ppcppc64.lpi
* project file updates
2012-09-08 21:58:45 +00:00
ppcppc.lpi
* project file updates
2012-09-08 21:58:45 +00:00
ppcsparc.lpi
* project file updates
2012-09-08 21:58:45 +00:00
ppheap.pas
* Only -dextheaptrc sets keepreleased to tue (meaning no memory is really released by heaptrc memory manager)
2012-09-19 07:57:31 +00:00
ppu.pas
+ save the absolute variable's segment to the ppu file after r25666
2013-10-06 00:32:10 +00:00
ppx86_64.lpi
procinfo.pas
compiler: fix calling class methods from a nested routine of a static class method (mantis #0024865 )
2013-08-17 04:44:19 +00:00
pstatmnt.pas
compiler: don't output an error twice in 'on Exception do' block if Exception is not a valid type
2013-09-05 00:46:26 +00:00
psub.pas
Fix for Mantis #21051 . Correctly handle specializations that occur during the specialization of methods.
2013-09-26 08:15:58 +00:00
psystem.pas
* also load the methodpointer type for managed VM types. It's required
2013-09-24 23:57:21 +00:00
ptconst.pas
* factored out code to decide when an asmsym for a staticvarsym has to be
2012-08-25 15:12:39 +00:00
ptype.pas
compiler:
2013-10-08 04:56:42 +00:00
raatt.pas
Add support in ARM assembler reader for ldr reg, =literal syntax
2013-07-21 16:06:57 +00:00
rabase.pas
rasm.pas
rautils.pas
* fix handling of register sets on m68k: it is required that they are stored as two tcpuregistersets because address registers and data registers have different register types
2013-10-09 18:15:06 +00:00
README.txt
regvars.pas
rescmn.pas
* add a -dfpc define to the resource compiler commandlines, which allows to make FPC specific exceptions in resource scripts. Mantis #24044
2013-05-04 21:25:36 +00:00
rgbase.pas
Use TRegNameTable instead of array[tregisterindex] of string[10]
2012-10-22 10:23:21 +00:00
rgobj.pas
Print aX or aregX for address registers if DEBUG_REGISTERLIFE is defined.
2013-10-05 21:48:28 +00:00
scandir.pas
+ allow smartlinking and dwarf debug info at the same time for i8086-msdos
2013-10-27 20:26:34 +00:00
scanner.pas
* don't call swapendian for shortint (it's 1 byte -> upcast to word and then
2013-11-06 09:44:29 +00:00
script.pas
switches.pas
symbase.pas
compiler: have unit interface symtable in stack while parsing implementation uses list (fixes issue #10477 )
2013-09-17 08:53:37 +00:00
symconst.pas
+ added po_far to tprocoptions
2013-06-08 16:34:30 +00:00
symcreat.pas
* fixed typo in jvm record clone implementation comment
2013-01-26 21:28:30 +00:00
symdef.pas
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
2013-10-25 19:44:27 +00:00
symnot.pas
symsym.pas
* fixed some bugs in the camelCase conversion performed on the JVM target by
2013-10-23 22:44:45 +00:00
symtable.pas
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
2013-10-25 19:44:27 +00:00
symtype.pas
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
2013-10-25 19:44:27 +00:00
symutil.pas
systems.inc
* restores atari support/rtl partially
2013-10-06 19:36:59 +00:00
systems.pas
+ added a new tsystemflag tf_cld, which indicates that ts_cld should be enabled
2013-09-28 14:57:12 +00:00
tgobj.pas
* prevent previously freed temp blocks from getting lost occasionally (can
2013-03-27 17:16:34 +00:00
tokens.pas
compiler: don't treat TRUE and FALSE as keywords. They are predefined constants from this moment. This change is compatible with other pascal compilers. Fixes issue #0025030
2013-09-16 09:11:17 +00:00
verbose.pas
Increase status.errorcount only inside GenerateError procedure, to simplify debugging
2013-01-16 09:45:57 +00:00
version.pas
ifdef cpu86 replaced with ifdef cpui386
2013-03-07 22:21:27 +00:00
widestr.pas
compiler, rtl: move cpXXXX.pas files from compiler to RTL\charmaps directory and cleanup them, enable charmaps building for the majority of targets
2013-03-12 01:35:25 +00:00
wpo.pas
wpobase.pas
wpoinfo.pas