florian e8e0d2b6eb 19 年之前
..
cg 9adf432e07 * test longint -> int64 conversions as well 19 年之前
opt 95a44d5beb * fixed 20 年之前
units abfb6d0668 * beautified output 19 年之前
README d3e1891eea + added submitter, machine and comment field to sql version 22 年之前
dumpclass.pp e9676f56b8 no message 21 年之前
dumpmethods.pp 790a4fe2d3 * log and id tags removed 20 年之前
tabstrcl.pp 0b79e441ab + test for published class with abstract methods 21 年之前
talign.pp e417e34496 * truncate log 21 年之前
talign1.pp 790a4fe2d3 * log and id tags removed 20 年之前
talign2.pp 790a4fe2d3 * log and id tags removed 20 年之前
tarray1.pp e7d12a5de3 * renamed test suite 25 年之前
tarray2.pp 952e80a72f * old logs removed and tabs fixed 23 年之前
tarray3.pp 487408c8da + known problems described 23 年之前
tarray4.pp 487408c8da + known problems described 23 年之前
tarray5.pp f5f187f3a9 * check for array size 21 年之前
tarray6.pp a684ebf7f8 * adjustment to target macos 21 年之前
tasmread.pp 5953d974c2 *** empty log message *** 21 年之前
tasout.pp 0f0eedba0a * nasm required note added 23 年之前
tcase1.pp 952e80a72f * old logs removed and tabs fixed 23 年之前
tcase2.pp e7d12a5de3 * renamed test suite 25 年之前
tcg1.pp 952e80a72f * old logs removed and tabs fixed 23 年之前
tcint64.pp e417e34496 * truncate log 21 年之前
tclass1.pp 790a4fe2d3 * log and id tags removed 20 年之前
tclass2.pp 790a4fe2d3 * log and id tags removed 20 年之前
tclass3.pp e7d12a5de3 * renamed test suite 25 年之前
tclass4.pp 790a4fe2d3 * log and id tags removed 20 年之前
tclass5.pp bbb08436c5 * memavail fixes 21 年之前
tclass6.pp 790a4fe2d3 * log and id tags removed 20 年之前
tclass7.pp 6939e0e4d4 * removed knowncompilererror10 22 年之前
tclass8.pp ea6715c207 * methodtable test 21 年之前
tclrprop.pp dacdc8c38f + test for publishing classref properties 21 年之前
tenum1.pp e7d12a5de3 * renamed test suite 25 年之前
testcmem.pp 790a4fe2d3 * log and id tags removed 20 年之前
testda1.pp e417e34496 * truncate log 21 年之前
testfpuc.pp 790a4fe2d3 * log and id tags removed 20 年之前
testmovd.pp e7b757fb32 * mmx is 1.0.x only 22 年之前
tests.pp 8f41503f9f no message 22 年之前
testsse2.pp ef72bba537 + proper alignment directives added 20 年之前
testv1.pp e417e34496 * truncate log 21 年之前
testv10.pp 55d881615a * improved variant type casts 20 年之前
testv2.pp fa14d04d88 *** empty log message *** 23 年之前
testv3.pp e417e34496 * truncate log 21 年之前
testv4.pp e417e34496 * truncate log 21 年之前
testv5.pp e417e34496 * truncate log 21 年之前
testv6.pp e417e34496 * truncate log 21 年之前
testv7.pp e417e34496 * truncate log 21 年之前
testv8.pp e417e34496 * truncate log 21 年之前
testv9.pp 07228ddf91 + extended test 20 年之前
texception1.pp c37cdcf4e8 * Improved output 22 年之前
texception10.pp 92a6e151ff * new bugs 21 年之前
texception2.pp e8e0d2b6eb 19 年之前
texception3.pp 79ba0c0609 * only build dbdigest for fulldb 21 年之前
texception4.pp 9da80100a2 skip for go32v2 to prevent hangings during unattended runs 21 年之前
texception5.pp 3bd0c0f4b5 no message 22 年之前
texception6.pp 7d9ec3978d + Fixed exit code 22 年之前
texception7.pp 7d9ec3978d + Fixed exit code 22 年之前
texception8.pp 3bd0c0f4b5 no message 22 年之前
texception9.pp 3bd0c0f4b5 no message 22 年之前
tfillchr.pp e417e34496 * truncate log 21 年之前
tfpu1.pp 952e80a72f * old logs removed and tabs fixed 23 年之前
tfpu2.pp 9da80100a2 skip for go32v2 to prevent hangings during unattended runs 21 年之前
tfpu3.pp cc47536e71 fsub check enhanced 23 年之前
tfpu4.pp 2608db056d * win32 also has as instead of asw in 1.1 22 年之前
tfpu5.pp 790a4fe2d3 * log and id tags removed 20 年之前
tfpuover.pp 790a4fe2d3 * log and id tags removed 20 年之前
tgeneric1.pp a59690b147 * make generic basics working again 20 年之前
tgeneric2.pp a59690b147 * make generic basics working again 20 年之前
tgeneric3.pp a59690b147 * make generic basics working again 20 年之前
tgeneric4.pp a59690b147 * make generic basics working again 20 年之前
tgeneric5.pp 7d89336fdd * fixed tgeneric5 test 20 年之前
tgeneric6.pp 24fa3cc3bf * some dummy .o files for solaris 20 年之前
tgoto.pp e7d12a5de3 * renamed test suite 25 年之前
theap.pp 790a4fe2d3 * log and id tags removed 20 年之前
thintdir.pp 952e80a72f * old logs removed and tabs fixed 23 年之前
timplprog.pp 790a4fe2d3 * log and id tags removed 20 年之前
tinivar.pp 780b31cdb3 + Test for locally initialized variables 23 年之前
tinlin64.pp 42035e7283 + new test for in64 value parameter push inlined 25 年之前
tinline1.pp 790a4fe2d3 * log and id tags removed 20 年之前
tinline2.pp 952e80a72f * old logs removed and tabs fixed 23 年之前
tinline3.pp 1fa574257d * case statement inline 21 年之前
tinline4.pp 35d252cae4 * add $inline on 21 年之前
tinline5.pp 23cd46151a + test for new inlining (fails currently) 20 年之前
tinline6.pp 52ca5e6922 * use more precise vs_* information to replace less parameters of inlined 20 年之前
tint641.pp e7d12a5de3 * renamed test suite 25 年之前
tint642.pp b193cd19ad * added missing double() typecasts 21 年之前
tint643.pp 5c36a38290 + qword multiplication and overflow test 22 年之前
tinterface1.pp 2ecaba47e1 + Better comment on %SKIPTARGET=macos 21 年之前
tinterface2.pp b9a0b3108a * update 25 年之前
tinterface3.pp b9a0b3108a * update 25 年之前
tinterface4.pp b16af7dfcc new test for interface to variant 21 年之前
tinterrupt.pp 952e80a72f * old logs removed and tabs fixed 23 年之前
tintfdef.pp 8776946bbf + test for macpas interface-only definition units 20 年之前
tintuint.pp d298043d6b * 0->nil 22 年之前
tlibrary1.pp d06bdbba13 * force PIC on x86_64 20 年之前
tlibrary2.pp a2cf6c4982 * no longer linux-specific naming for library 20 年之前
tmacfunret.pp 58582a44a9 new tests for mode macpas 20 年之前
tmaclocalprocparam.pp 58f59b9134 added test cases for comming macpas features 20 年之前
tmacnonlocalexit.pp 58f59b9134 added test cases for comming macpas features 20 年之前
tmacnonlocalgoto.pp 58f59b9134 added test cases for comming macpas features 20 年之前
tmacpas1.pp 59f83a5357 - Moved part to tmacpas4.pp 21 年之前
tmacpas2.pp edf553a223 * string constants are now array of char until 20 年之前
tmacpas3.pp 790a4fe2d3 * log and id tags removed 20 年之前
tmacpas4.pp 91c8da4e1a + New test for compile time things 21 年之前
tmacprocvar.pp 58582a44a9 new tests for mode macpas 20 年之前
tmath1.pp 952e80a72f * old logs removed and tabs fixed 23 年之前
tmmx1.pp dac1050c11 + mmx support revived, fixes bug #4106 20 年之前
tmove.pp e417e34496 * truncate log 21 年之前
tmt1.pp e417e34496 * truncate log 21 年之前
tobject1.pp e417e34496 * truncate log 21 年之前
tobject2.pp bbb08436c5 * memavail fixes 21 年之前
tobject3.pp 790a4fe2d3 * log and id tags removed 20 年之前
tobject4.pp 741f42c3b0 no message 21 年之前
toperator1.pp 952e80a72f * old logs removed and tabs fixed 23 年之前
toperator2.pp 952e80a72f * old logs removed and tabs fixed 23 年之前
toperator3.pp 952e80a72f * old logs removed and tabs fixed 23 年之前
toperator4.pp 952e80a72f * old logs removed and tabs fixed 23 年之前
toperator5.pp 790a4fe2d3 * log and id tags removed 20 年之前
tover1.pp 790a4fe2d3 * log and id tags removed 20 年之前
tover2.pp 47c1bb60b4 * remove svn:executable from *.pp and *.pas 20 年之前
tpackrec.pp e417e34496 * truncate log 21 年之前
tpara1.pp e2719218f8 * several fixes to run also with kylix 24 年之前
tpara2.pp bb4fa3dcf0 * simple test for alignment of parameters on stack 21 年之前
tpftch1.pp fe1cefd621 * crash test for automatic prefetching 20 年之前
tprocext.pp 790a4fe2d3 * log and id tags removed 20 年之前
tprocvar1.pp 790a4fe2d3 * log and id tags removed 20 年之前
tprocvar2.pp d3e1891eea + added submitter, machine and comment field to sql version 22 年之前
tprocvar3.pp 790a4fe2d3 * log and id tags removed 20 年之前
tprop1.pp e417e34496 * truncate log 21 年之前
tprop2.pp a42f9109c0 * global properties 22 年之前
trange1.pp e2719218f8 * several fixes to run also with kylix 24 年之前
trange2.pp 11ab2b888a * compiles with 1.1 25 年之前
trange3.pp 952e80a72f * old logs removed and tabs fixed 23 年之前
trange4.pp 952e80a72f * old logs removed and tabs fixed 23 年之前
trange5.pp 6f8c7b37c4 * fix trange5 for big endian machines 23 年之前
trangeob.pp b910a5da10 + problem when passing a typecasted class instance to a var parameter 20 年之前
tresstr.pp e7d12a5de3 * renamed test suite 25 年之前
trtti1.pp b9a0b3108a * update 25 年之前
trtti2.pp 790a4fe2d3 * log and id tags removed 20 年之前
trtti3.pp 790a4fe2d3 * log and id tags removed 20 年之前
trtti4.pp b561749dea * renamed to trtti4 20 年之前
trtti5.pp 68e56b9fc7 * write only unique property names in rtti 20 年之前
tset1.pp 790a4fe2d3 * log and id tags removed 20 年之前
tset2.pp 992fe2b52c * test now returns exitcode 1 in case something went wrong 22 年之前
tstack.pp e417e34496 * truncate log 21 年之前
tstprocv.pp 790a4fe2d3 * log and id tags removed 20 年之前
tstring1.pp e7d12a5de3 * renamed test suite 25 年之前
tstring2.pp e7d12a5de3 * renamed test suite 25 年之前
tstring3.pp e7d12a5de3 * renamed test suite 25 年之前
tstring4.pp e417e34496 * truncate log 21 年之前
tstring5.pp 790a4fe2d3 * log and id tags removed 20 年之前
tstring6.pp 49ef73e24f * fixed test 21 年之前
tstring7.pp 16bd288cae * simple test that failed for m68k 24 年之前
tstring8.pp 9b9dd342c5 * fixed strpos() in case source or target is nil 20 年之前
tstrreal1.pp e7d12a5de3 * renamed test suite 25 年之前
tstrreal2.pp bfd9c1f91c * fixed for processors where sizeof extended = sizeof(double) 22 年之前
tstrreal3.pp 440637d72d + added (not yet fixed) 20 年之前
tsubdecl.pp 790a4fe2d3 * log and id tags removed 20 年之前
tunit1.pp 1b28fe0e03 * more type redefining tests 25 年之前
tunit2.pp 093c0c3921 * 1.1 update 24 年之前
tunit3.pp 1b28fe0e03 * more type redefining tests 25 年之前
tunroll1.pp b7d874635c * fixed some small problems in loop unrolling 20 年之前
tutf81.pp cefa8ce9b9 * utf-8 fix from Rimgaudas Laucius 20 年之前
tutf82.pp 80f6b094d3 + added forgotten $codepage directive 20 年之前
twide1.pp 1872bac94a *** empty log message *** 21 年之前
twide2.pp 790a4fe2d3 * log and id tags removed 20 年之前
uabstrcl.pp 0b79e441ab + test for published class with abstract methods 21 年之前
ugeneric3.pp a59690b147 * make generic basics working again 20 年之前
ugeneric4.pp a59690b147 * make generic basics working again 20 年之前
uimpluni1.pp 790a4fe2d3 * log and id tags removed 20 年之前
uimpluni2.pp 7c067cef8a * renamed 25 年之前
uinline4a.pp 6fc687a44c * inline with type in implicit used unit 21 年之前
uinline4b.pp 6fc687a44c * inline with type in implicit used unit 21 年之前
umacpas1.pp 403043058c + Added tests for mode macpas 21 年之前
uprocext1.pp 87d02dfb7e * external handling test 21 年之前
uprocext2.pp 790a4fe2d3 * log and id tags removed 20 年之前
utasout.pp 9c95811fc0 * Renamefest 23 年之前
uunit1.pp 1b28fe0e03 * more type redefining tests 25 年之前
uunit2a.pp 1b28fe0e03 * more type redefining tests 25 年之前
uunit2b.pp 1b28fe0e03 * more type redefining tests 25 年之前
uunit3a.pp 1b28fe0e03 * more type redefining tests 25 年之前
uunit3b.pp 1b28fe0e03 * more type redefining tests 25 年之前
uunit3c.pp 1b28fe0e03 * more type redefining tests 25 年之前

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)