micha 2450c5e3ca * remove svn:executable flag from pascal sources vor 19 Jahren
..
cg 394eccf1e0 * optimize away "x mod 1" and "x div 1" + test (ppc code generator handled vor 19 Jahren
opt c81af0b2f8 Merged revisions 2191 via svnmerge from vor 20 Jahren
units 1bf5030562 Merged revisions 3136 via svnmerge from vor 19 Jahren
README d3e1891eea + added submitter, machine and comment field to sql version vor 22 Jahren
dumpclass.pp e9676f56b8 no message vor 21 Jahren
dumpmethods.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tabstrcl.pp 0b79e441ab + test for published class with abstract methods vor 20 Jahren
talign.pp e417e34496 * truncate log vor 20 Jahren
talign1.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
talign2.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tarray1.pp e7d12a5de3 * renamed test suite vor 25 Jahren
tarray2.pp 952e80a72f * old logs removed and tabs fixed vor 23 Jahren
tarray3.pp 487408c8da + known problems described vor 22 Jahren
tarray4.pp 487408c8da + known problems described vor 22 Jahren
tarray5.pp f5f187f3a9 * check for array size vor 21 Jahren
tarray6.pp a684ebf7f8 * adjustment to target macos vor 20 Jahren
tasmread.pp 5953d974c2 *** empty log message *** vor 21 Jahren
tasout.pp 0f0eedba0a * nasm required note added vor 23 Jahren
tcase1.pp 952e80a72f * old logs removed and tabs fixed vor 23 Jahren
tcase2.pp e7d12a5de3 * renamed test suite vor 25 Jahren
tcg1.pp 952e80a72f * old logs removed and tabs fixed vor 23 Jahren
tcint64.pp e417e34496 * truncate log vor 20 Jahren
tclass1.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tclass2.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tclass3.pp e7d12a5de3 * renamed test suite vor 25 Jahren
tclass4.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tclass5.pp bbb08436c5 * memavail fixes vor 21 Jahren
tclass6.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tclass7.pp 6939e0e4d4 * removed knowncompilererror10 vor 22 Jahren
tclass8.pp ea6715c207 * methodtable test vor 21 Jahren
tclrprop.pp dacdc8c38f + test for publishing classref properties vor 20 Jahren
tenum1.pp e7d12a5de3 * renamed test suite vor 25 Jahren
testcmem.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
testda1.pp e417e34496 * truncate log vor 20 Jahren
testfpuc.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
testmovd.pp e7b757fb32 * mmx is 1.0.x only vor 22 Jahren
tests.pp 8f41503f9f no message vor 22 Jahren
testsse2.pp bd04d53c7e Merged revisions 1559-1561,1563-1564 via svnmerge from vor 20 Jahren
testv1.pp e417e34496 * truncate log vor 20 Jahren
testv10.pp 050caabcd4 Merged revisions 1912,1926,1928-1930,1932 via svnmerge from vor 20 Jahren
testv2.pp fa14d04d88 *** empty log message *** vor 23 Jahren
testv3.pp e417e34496 * truncate log vor 20 Jahren
testv4.pp e417e34496 * truncate log vor 20 Jahren
testv5.pp e417e34496 * truncate log vor 20 Jahren
testv6.pp e417e34496 * truncate log vor 20 Jahren
testv7.pp e417e34496 * truncate log vor 20 Jahren
testv8.pp e417e34496 * truncate log vor 20 Jahren
testv9.pp fff1dd8032 Merged revisions 1801-1808,1810-1811 via svnmerge from vor 20 Jahren
texception1.pp c37cdcf4e8 * Improved output vor 22 Jahren
texception10.pp 92a6e151ff * new bugs vor 20 Jahren
texception2.pp 9da80100a2 skip for go32v2 to prevent hangings during unattended runs vor 21 Jahren
texception3.pp 79ba0c0609 * only build dbdigest for fulldb vor 20 Jahren
texception4.pp 9da80100a2 skip for go32v2 to prevent hangings during unattended runs vor 21 Jahren
texception5.pp 3bd0c0f4b5 no message vor 22 Jahren
texception6.pp 7d9ec3978d + Fixed exit code vor 22 Jahren
texception7.pp 7d9ec3978d + Fixed exit code vor 22 Jahren
texception8.pp 3bd0c0f4b5 no message vor 22 Jahren
texception9.pp 3bd0c0f4b5 no message vor 22 Jahren
tfillchr.pp e417e34496 * truncate log vor 20 Jahren
tfpu1.pp 952e80a72f * old logs removed and tabs fixed vor 23 Jahren
tfpu2.pp 9da80100a2 skip for go32v2 to prevent hangings during unattended runs vor 21 Jahren
tfpu3.pp cc47536e71 fsub check enhanced vor 23 Jahren
tfpu4.pp 2608db056d * win32 also has as instead of asw in 1.1 vor 22 Jahren
tfpu5.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tfpuover.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tgoto.pp e7d12a5de3 * renamed test suite vor 25 Jahren
theap.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
thintdir.pp 952e80a72f * old logs removed and tabs fixed vor 23 Jahren
timplprog.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tinivar.pp 780b31cdb3 + Test for locally initialized variables vor 23 Jahren
tinlin64.pp 42035e7283 + new test for in64 value parameter push inlined vor 24 Jahren
tinline1.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tinline2.pp 952e80a72f * old logs removed and tabs fixed vor 23 Jahren
tinline3.pp 1fa574257d * case statement inline vor 21 Jahren
tinline4.pp 35d252cae4 * add $inline on vor 21 Jahren
tinline5.pp f16581d9d1 Merged revisions 1614,1618,1625-1626,1630-1633 via svnmerge from vor 20 Jahren
tinline6.pp 9759c14244 Merged revisions 1913-1914,1920,1922,1925,1957,1976,2024,2038,2052,2126,2140 via svnmerge from vor 20 Jahren
tint641.pp e7d12a5de3 * renamed test suite vor 25 Jahren
tint642.pp b193cd19ad * added missing double() typecasts vor 21 Jahren
tint643.pp 5c36a38290 + qword multiplication and overflow test vor 22 Jahren
tinterface1.pp 2ecaba47e1 + Better comment on %SKIPTARGET=macos vor 21 Jahren
tinterface2.pp b9a0b3108a * update vor 25 Jahren
tinterface3.pp b9a0b3108a * update vor 25 Jahren
tinterface4.pp b16af7dfcc new test for interface to variant vor 20 Jahren
tinterrupt.pp 952e80a72f * old logs removed and tabs fixed vor 23 Jahren
tintfdef.pp bdb514fe5e Merged revisions 2131 via svnmerge from vor 20 Jahren
tintuint.pp d298043d6b * 0->nil vor 22 Jahren
tlibrary1.pp 24833fe874 + added SKIPTARGET=macos vor 21 Jahren
tlibrary2.pp 3a8678f658 Merged revisions 1382 via svnmerge from vor 20 Jahren
tmacbool.pp a3d6a9f6ee Merged revisions 3745 via svnmerge from vor 19 Jahren
tmacfunret.pp 4b9c715b51 Merged revisions 1537-1538,1543,1592,1598,1600 via svnmerge from vor 20 Jahren
tmaclocalprocparam.pp 495ffec968 Merged revisions 2282,2290,2292-2295,2297,2299,2302,2304 via svnmerge from vor 19 Jahren
tmacnonlocalexit.pp 495ffec968 Merged revisions 2282,2290,2292-2295,2297,2299,2302,2304 via svnmerge from vor 19 Jahren
tmacnonlocalgoto.pp 495ffec968 Merged revisions 2282,2290,2292-2295,2297,2299,2302,2304 via svnmerge from vor 19 Jahren
tmacpas1.pp 59f83a5357 - Moved part to tmacpas4.pp vor 20 Jahren
tmacpas2.pp 73375cffed * macpas procvar merged vor 20 Jahren
tmacpas3.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tmacpas4.pp 91c8da4e1a + New test for compile time things vor 20 Jahren
tmacprocvar.pp 4b9c715b51 Merged revisions 1537-1538,1543,1592,1598,1600 via svnmerge from vor 20 Jahren
tmath1.pp 952e80a72f * old logs removed and tabs fixed vor 23 Jahren
tmcbool2.pp a3d6a9f6ee Merged revisions 3745 via svnmerge from vor 19 Jahren
tmmx1.pp 845dd70787 Merged revisions 555 via svnmerge from vor 20 Jahren
tmove.pp e417e34496 * truncate log vor 20 Jahren
tmt1.pp e417e34496 * truncate log vor 20 Jahren
tobject1.pp e417e34496 * truncate log vor 20 Jahren
tobject2.pp bbb08436c5 * memavail fixes vor 21 Jahren
tobject3.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tobject4.pp 741f42c3b0 no message vor 21 Jahren
toperator1.pp 952e80a72f * old logs removed and tabs fixed vor 23 Jahren
toperator2.pp 952e80a72f * old logs removed and tabs fixed vor 23 Jahren
toperator3.pp 952e80a72f * old logs removed and tabs fixed vor 23 Jahren
toperator4.pp 952e80a72f * old logs removed and tabs fixed vor 23 Jahren
toperator5.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tover1.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tover2.pp 94052210ca Merged revisions 1954-1955,1962-1963,1966-1967,1969,1973,1979,1982,1987-1992,1994-1999,2003-2007,2017,2021,2023,2031-2033,2035,2037,2039-2042,2045-2047,2050,2054-2057,2063,2065-2066,2069,2071-2075,2077-2078,2080-2081,2083,2097-2098,2101,2105-2106,2144-2145,2149,2156-2157,2176,2190,2194-2195,2202,2209-2211,2216,2220,2225-2232,2238 via svnmerge from vor 20 Jahren
tpackrec.pp e417e34496 * truncate log vor 20 Jahren
tpara1.pp e2719218f8 * several fixes to run also with kylix vor 24 Jahren
tpara2.pp bb4fa3dcf0 * simple test for alignment of parameters on stack vor 21 Jahren
tprocext.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tprocvar1.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tprocvar2.pp d3e1891eea + added submitter, machine and comment field to sql version vor 22 Jahren
tprocvar3.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tprop1.pp e417e34496 * truncate log vor 20 Jahren
tprop2.pp a42f9109c0 * global properties vor 22 Jahren
trange1.pp e2719218f8 * several fixes to run also with kylix vor 24 Jahren
trange2.pp 11ab2b888a * compiles with 1.1 vor 25 Jahren
trange3.pp 952e80a72f * old logs removed and tabs fixed vor 23 Jahren
trange4.pp 952e80a72f * old logs removed and tabs fixed vor 23 Jahren
trange5.pp 6f8c7b37c4 * fix trange5 for big endian machines vor 22 Jahren
trangeob.pp 19ad4e4470 Merged revisions 2741 via svnmerge from vor 19 Jahren
tresstr.pp e7d12a5de3 * renamed test suite vor 25 Jahren
trtti1.pp b9a0b3108a * update vor 25 Jahren
trtti2.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
trtti3.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
trtti4.pp 2450c5e3ca * remove svn:executable flag from pascal sources vor 19 Jahren
trtti5.pp 94052210ca Merged revisions 1954-1955,1962-1963,1966-1967,1969,1973,1979,1982,1987-1992,1994-1999,2003-2007,2017,2021,2023,2031-2033,2035,2037,2039-2042,2045-2047,2050,2054-2057,2063,2065-2066,2069,2071-2075,2077-2078,2080-2081,2083,2097-2098,2101,2105-2106,2144-2145,2149,2156-2157,2176,2190,2194-2195,2202,2209-2211,2216,2220,2225-2232,2238 via svnmerge from vor 20 Jahren
tset1.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tset2.pp 992fe2b52c * test now returns exitcode 1 in case something went wrong vor 22 Jahren
tstack.pp e417e34496 * truncate log vor 20 Jahren
tstprocv.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tstring1.pp e7d12a5de3 * renamed test suite vor 25 Jahren
tstring2.pp e7d12a5de3 * renamed test suite vor 25 Jahren
tstring3.pp e7d12a5de3 * renamed test suite vor 25 Jahren
tstring4.pp e417e34496 * truncate log vor 20 Jahren
tstring5.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tstring6.pp 49ef73e24f * fixed test vor 21 Jahren
tstring7.pp 16bd288cae * simple test that failed for m68k vor 24 Jahren
tstring8.pp 76ef3917f3 Merged revisions 1907 via svnmerge from vor 20 Jahren
tstrreal1.pp e7d12a5de3 * renamed test suite vor 25 Jahren
tstrreal2.pp bfd9c1f91c * fixed for processors where sizeof extended = sizeof(double) vor 22 Jahren
tstrreal3.pp 8471e03e6e Merged revisions 2310,2312,2317,2320,2325,2331,2333,2340,2347,2358-2359,2373,2380-2381,2390,2402-2403,2405-2406,2436-2437 via svnmerge from vor 19 Jahren
tsubdecl.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
tunit1.pp 1b28fe0e03 * more type redefining tests vor 24 Jahren
tunit2.pp 093c0c3921 * 1.1 update vor 24 Jahren
tunit3.pp 1b28fe0e03 * more type redefining tests vor 24 Jahren
tutf81.pp 2801071c2b Merged revisions 556 via svnmerge from vor 20 Jahren
tutf82.pp c8397915a4 Merged revisions 428-429 via svnmerge from vor 20 Jahren
twide1.pp 1872bac94a *** empty log message *** vor 20 Jahren
twide2.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
uabstrcl.pp 0b79e441ab + test for published class with abstract methods vor 20 Jahren
uimpluni1.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
uimpluni2.pp 7c067cef8a * renamed vor 25 Jahren
uinline4a.pp 6fc687a44c * inline with type in implicit used unit vor 21 Jahren
uinline4b.pp 6fc687a44c * inline with type in implicit used unit vor 21 Jahren
umacpas1.pp 403043058c + Added tests for mode macpas vor 21 Jahren
uprocext1.pp 87d02dfb7e * external handling test vor 21 Jahren
uprocext2.pp b409904e44 Merged revisions 42 via svnmerge from vor 20 Jahren
utasout.pp 9c95811fc0 * Renamefest vor 23 Jahren
uunit1.pp 1b28fe0e03 * more type redefining tests vor 24 Jahren
uunit2a.pp 1b28fe0e03 * more type redefining tests vor 24 Jahren
uunit2b.pp 1b28fe0e03 * more type redefining tests vor 24 Jahren
uunit3a.pp 1b28fe0e03 * more type redefining tests vor 24 Jahren
uunit3b.pp 1b28fe0e03 * more type redefining tests vor 24 Jahren
uunit3c.pp 1b28fe0e03 * more type redefining tests vor 24 Jahren

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)