Jonas Maebe b5d6262fb9 * fixed for unix 21 éve
..
cg 8a23b747b4 * add public 21 éve
opt 952e80a72f * old logs removed and tabs fixed 23 éve
units b5d6262fb9 * fixed for unix 21 éve
.cvsignore 47758ec9fc + explicit .cvsignore files added 24 éve
README d3e1891eea + added submitter, machine and comment field to sql version 22 éve
talign.pp 6fa306abd7 * missing mode objfpc added 23 éve
talign1.pp e8a8374e77 * resource string table simple compilation test 23 éve
talign2.pp 0f3fbdf989 * 64 bit fixes 22 éve
tarray1.pp e7d12a5de3 * renamed test suite 25 éve
tarray2.pp 952e80a72f * old logs removed and tabs fixed 23 éve
tarray3.pp 487408c8da + known problems described 23 éve
tarray4.pp 487408c8da + known problems described 23 éve
tarray5.pp f5f187f3a9 * check for array size 21 éve
tasmread.pp 5953d974c2 *** empty log message *** 21 éve
tasout.pp 0f0eedba0a * nasm required note added 23 éve
tcase1.pp 952e80a72f * old logs removed and tabs fixed 23 éve
tcase2.pp e7d12a5de3 * renamed test suite 25 éve
tcg1.pp 952e80a72f * old logs removed and tabs fixed 23 éve
tcint64.pp 26c0a0a3f3 * qword(longint) test 22 éve
tclass1.pp a78099a64f * extended the tests with inherited call 23 éve
tclass2.pp 4aec360876 * fix calling of to1.destroy from to2.destroy 23 éve
tclass3.pp e7d12a5de3 * renamed test suite 25 éve
tclass4.pp 697b015e3f * fixed 23 éve
tclass5.pp bbb08436c5 * memavail fixes 21 éve
tclass6.pp 91dfe9bec5 * compile time class check 23 éve
tclass7.pp 6939e0e4d4 * removed knowncompilererror10 22 éve
tclass8.pp ea6715c207 * methodtable test 21 éve
tenum1.pp e7d12a5de3 * renamed test suite 25 éve
testcmem.pp a04210006e * test for cmem unit 22 éve
testda1.pp 5400c36e4f *** empty log message *** 23 éve
testfpuc.pp b52a962e00 * test fpu with c 21 éve
testmovd.pp e7b757fb32 * mmx is 1.0.x only 22 éve
tests.pp 8f41503f9f no message 22 éve
testsse2.pp 645310a071 * restrict to i386 22 éve
testv1.pp 371661e332 * 1.1 only 23 éve
testv2.pp fa14d04d88 *** empty log message *** 23 éve
testv3.pp 371661e332 * 1.1 only 23 éve
testv4.pp 371661e332 * 1.1 only 23 éve
testv5.pp 371661e332 * 1.1 only 23 éve
testv6.pp 371661e332 * 1.1 only 23 éve
testv7.pp 371661e332 * 1.1 only 23 éve
testv8.pp 371661e332 * 1.1 only 23 éve
texception1.pp c37cdcf4e8 * Improved output 23 éve
texception2.pp 9da80100a2 skip for go32v2 to prevent hangings during unattended runs 21 éve
texception3.pp bbb08436c5 * memavail fixes 21 éve
texception4.pp 9da80100a2 skip for go32v2 to prevent hangings during unattended runs 21 éve
texception5.pp 3bd0c0f4b5 no message 22 éve
texception6.pp 7d9ec3978d + Fixed exit code 22 éve
texception7.pp 7d9ec3978d + Fixed exit code 22 éve
texception8.pp 3bd0c0f4b5 no message 22 éve
texception9.pp 3bd0c0f4b5 no message 22 éve
tfillchr.pp a2dc1e7a9d + fillchar test 23 éve
tfpu1.pp 952e80a72f * old logs removed and tabs fixed 23 éve
tfpu2.pp 9da80100a2 skip for go32v2 to prevent hangings during unattended runs 21 éve
tfpu3.pp cc47536e71 fsub check enhanced 23 éve
tfpu4.pp 2608db056d * win32 also has as instead of asw in 1.1 22 éve
tfpu5.pp cc47536e71 fsub check enhanced 23 éve
tfpuover.pp 4a4d7cd40d test for fpu overflow 24 éve
tgoto.pp e7d12a5de3 * renamed test suite 25 éve
theap.pp bbb08436c5 * memavail fixes 21 éve
thintdir.pp 952e80a72f * old logs removed and tabs fixed 23 éve
timplprog.pp 6a694bf11f * test should fail now 25 éve
tinivar.pp 780b31cdb3 + Test for locally initialized variables 23 éve
tinlin64.pp 42035e7283 + new test for in64 value parameter push inlined 25 éve
tinline1.pp e7d12a5de3 * renamed test suite 25 éve
tinline2.pp 952e80a72f * old logs removed and tabs fixed 23 éve
tinline3.pp 1fa574257d * case statement inline 21 éve
tint641.pp e7d12a5de3 * renamed test suite 25 éve
tint642.pp b193cd19ad * added missing double() typecasts 21 éve
tint643.pp 5c36a38290 + qword multiplication and overflow test 22 éve
tinterface1.pp 2ecaba47e1 + Better comment on %SKIPTARGET=macos 21 éve
tinterface2.pp b9a0b3108a * update 25 éve
tinterface3.pp b9a0b3108a * update 25 éve
tinterrupt.pp 952e80a72f * old logs removed and tabs fixed 23 éve
tintuint.pp d298043d6b * 0->nil 22 éve
tlibrary1.pp 2a4426bfb5 * -FE. not needed anymore 21 éve
tlibrary2.pp 56b74202eb * remove -Fl. 21 éve
tmath1.pp 952e80a72f * old logs removed and tabs fixed 23 éve
tmmx1.pp 1ebb3ad3a5 * MMX is 1.0.x only 22 éve
tmove.pp 41a008a3bc + test for move() procedure 23 éve
tmt1.pp 89ef29de7e *** empty log message *** 21 éve
tobject1.pp 2e581da5a6 * fixed test 21 éve
tobject2.pp bbb08436c5 * memavail fixes 21 éve
tobject3.pp 6b3159d30e * Return runerror 219 23 éve
tobject4.pp 741f42c3b0 no message 21 éve
toperator1.pp 952e80a72f * old logs removed and tabs fixed 23 éve
toperator2.pp 952e80a72f * old logs removed and tabs fixed 23 éve
toperator3.pp 952e80a72f * old logs removed and tabs fixed 23 éve
toperator4.pp 952e80a72f * old logs removed and tabs fixed 23 éve
toperator5.pp cf6c0a1a54 * ucomplex will be delivered with 1.1 23 éve
tover1.pp 1dea3ef6b5 * overloaded string routines testing 23 éve
tpackrec.pp ff064bf580 * pakcrecords test 22 éve
tpara1.pp e2719218f8 * several fixes to run also with kylix 24 éve
tpara2.pp bb4fa3dcf0 * simple test for alignment of parameters on stack 21 éve
tprocvar1.pp 952e80a72f * old logs removed and tabs fixed 23 éve
tprocvar2.pp d3e1891eea + added submitter, machine and comment field to sql version 22 éve
tprocvar3.pp 626dd0ce84 * delphi mode procvar 21 éve
tprop1.pp a42f9109c0 * global properties 22 éve
tprop2.pp a42f9109c0 * global properties 22 éve
trange1.pp e2719218f8 * several fixes to run also with kylix 24 éve
trange2.pp 11ab2b888a * compiles with 1.1 25 éve
trange3.pp 952e80a72f * old logs removed and tabs fixed 23 éve
trange4.pp 952e80a72f * old logs removed and tabs fixed 23 éve
trange5.pp 6f8c7b37c4 * fix trange5 for big endian machines 23 éve
tresstr.pp e7d12a5de3 * renamed test suite 25 éve
trtti1.pp b9a0b3108a * update 25 éve
trtti2.pp 7aae5f99f1 * runs now with 1.0.x as well 25 éve
trtti3.pp 5a37581b29 *** empty log message *** 21 éve
tset1.pp e7d12a5de3 * renamed test suite 25 éve
tset2.pp 992fe2b52c * test now returns exitcode 1 in case something went wrong 23 éve
tstack.pp 6f2a3683f8 * check that an infinite recursion generates RTE 202 or at least 216 23 éve
tstprocv.pp 010beefd28 * procvar types checks for strings args should be stricter 23 éve
tstring1.pp e7d12a5de3 * renamed test suite 25 éve
tstring2.pp e7d12a5de3 * renamed test suite 25 éve
tstring3.pp e7d12a5de3 * renamed test suite 25 éve
tstring4.pp bbb08436c5 * memavail fixes 21 éve
tstring5.pp 952e80a72f * old logs removed and tabs fixed 23 éve
tstring6.pp bbb08436c5 * memavail fixes 21 éve
tstring7.pp 16bd288cae * simple test that failed for m68k 24 éve
tstrreal1.pp e7d12a5de3 * renamed test suite 25 éve
tstrreal2.pp bfd9c1f91c * fixed for processors where sizeof extended = sizeof(double) 22 éve
tsubdecl.pp 375eca81ae + initial version 23 éve
tunit1.pp 1b28fe0e03 * more type redefining tests 25 éve
tunit2.pp 093c0c3921 * 1.1 update 24 éve
tunit3.pp 1b28fe0e03 * more type redefining tests 25 éve
uimpluni1.pp 7c067cef8a * renamed 25 éve
uimpluni2.pp 7c067cef8a * renamed 25 éve
utasout.pp 9c95811fc0 * Renamefest 23 éve
uunit1.pp 1b28fe0e03 * more type redefining tests 25 éve
uunit2a.pp 1b28fe0e03 * more type redefining tests 25 éve
uunit2b.pp 1b28fe0e03 * more type redefining tests 25 éve
uunit3a.pp 1b28fe0e03 * more type redefining tests 25 éve
uunit3b.pp 1b28fe0e03 * more type redefining tests 25 éve
uunit3c.pp 1b28fe0e03 * more type redefining tests 25 éve

README

This directory contains tests for several parts of the compiler and RTL


--------------------------------------------------------------------
Code generator
--------------------------------------------------------------------
These tests should be considered unitary, as they only verify
simple cases of the code generator. Used for porting to other
architectures. Tries to validate all possible Location types
valid for that node. They are based on tests on these
reference platforms:
Borland Pascal v7.01
Delphi 3.0
Delphi 4.0
Delphi 6.0 Personal Edition

'Natural type' is a signed 32-bit value on 32-bit architectures.
'Natural type' is a signed 64-bit value on 64-bit architectures.


--------------------------------------------------------------------
Compiler
--------------------------------------------------------------------


Shortstrings .......... tstring1.pp compatibility and speed of shortstrings
tstring2.pp some misc. tests mainly collected
from bug reports
tstring3.pp Typed Constant string loading from
other constants
tstring4.pp Ansistring #1
tstring5.pp Ansistring #2
Classes ............... tclass1.pp AfterConstruction
tclass2.pp BeforeDestruction
Objects ............... tobject1.pp Fail in constructor
Exceptions ............ texception1.pp
texception2.pp
texception3.pp
texception4.pp Math exceptions
Procedure Variable .... tprocvar1.pp
tprocvar2.pp
Libraries ............. testlib.pp a very primitive test
Parameter passing ..... tpara1.pp Out Parameter

Units ................. testu1.pp tests init. & finalization and halt
testu2.pp in finalization
testu3.pp a type redefining problem
testu4.pp
testu5.pp
case .................. tcase1.pp tests case statements with byte and word
sized decision variables
tcase2.pp tests case with sub enum types
Arrays ................ tarray1.pp open arrays with classes
tarray2.pp Array of const
tarray3.pp Array of Char #1 (Known bug)
tarray4.pp Array of Char #2 (Known bug)
Enumerations .......... tenum1.pp tests assignments of subrange
enumerations
Codegenerration ....... tcg1.pp i386 pushw
tcg2.pp saveregisters
tinivar.pp initial values for local variables (1.1)
Inline ................ tinline1.pp tests recursive inlining, inlining
a procedure multiple times and
inlining procedures in other
inline procedures.
tinlin64.pp tests for a problem in pushing 64bit parameters
by value.
TypeInfo .............. trtti2.pp test the function system.typeinfo
trtti3.pp tests the procedure system.finalize
Resourcestrings ....... tresstr.pp tests a simple resource string
Range checking ........ trange1.pp range checking when converting int64/
qword to longint/cardinal
trange2.pp range checking when converting
between longint and cardinal
trange3.pp range checking for array
trange4.pp range checking when assigning
values to int64/qword
Floating Point ........ tfpu1.pp
tfpu2.pp
Assembler readers...... tasmread.pp tests for support of unit or program specifier
testmovd.pp testspecial issues about MOVD instruction
<<<<<<< README
Variants............... tvariant.pp tests the variant support of FPC
=======
tasout.pp tests a problem if a unit is compiled with nasm
>>>>>>> 1.13

--------------------------------------------------------------------
RTL
--------------------------------------------------------------------

SYSTEM
------
str/write(real_type) .. tstrreal1.pp test correct rounding
tstrreal2.pp test correct writing of 10 till 1e-24
Heap .................. theap.pp Heap manager test
input/output .......... /units/system/tiorte.pp tests inoutres values of invalid operations
Random ................ /units/system/trandom.pp tests random (interactive)

DOS
---
General .............. /units/dos/tdos.pp (interactive)
General .............. /units/dos/testdos.pas (interactive)
FExpand .............. /units/dos/tfexpand.pp

CRT
---
General .............. /units/crt/tcrt.pp tests most crt unit functions (interactive)