mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-04 07:31:01 +01:00
| .. | ||
| cg | ||
| opt | ||
| units | ||
| README | ||
| tarray1.pp | ||
| tarray2.pp | ||
| tarray3.pp | ||
| tarray4.pp | ||
| tasmread.pp | ||
| tcase1.pp | ||
| tcase2.pp | ||
| tcg1.pp | ||
| tcg2.pp | ||
| tclass1.pp | ||
| tclass2.pp | ||
| tclass3.pp | ||
| tenum1.pp | ||
| testmovd.pp | ||
| texception1.pp | ||
| texception2.pp | ||
| texception3.pp | ||
| texception4.pp | ||
| tfpu1.pp | ||
| tfpu2.pp | ||
| tfpu3.pp | ||
| tfpu4.pp | ||
| tfpu5.pp | ||
| tgoto.pp | ||
| theap.pp | ||
| thintdir.pp | ||
| timplprog.pp | ||
| tinlin64.pp | ||
| tinline1.pp | ||
| tinline2.pp | ||
| tint641.pp | ||
| tint642.pp | ||
| tinterface1.pp | ||
| tinterface2.pp | ||
| tinterface3.pp | ||
| tinterrupt.pp | ||
| tlibrary.pp | ||
| tmath1.pp | ||
| tmmx1.pp | ||
| tobject1.pp | ||
| tobject2.pp | ||
| toperator1.pp | ||
| toperator2.pp | ||
| toperator3.pp | ||
| toperator4.pp | ||
| tpara1.pp | ||
| tprocvar1.pp | ||
| tprocvar2.pp | ||
| trange1.pp | ||
| trange2.pp | ||
| trange3.pp | ||
| trange4.pp | ||
| trange5.pp | ||
| tresstr.pp | ||
| trtti1.pp | ||
| trtti2.pp | ||
| trtti3.pp | ||
| tset1.pp | ||
| tset2.pp | ||
| tstring1.pp | ||
| tstring2.pp | ||
| tstring3.pp | ||
| tstring4.pp | ||
| tstring5.pp | ||
| tstrreal1.pp | ||
| tstrreal2.pp | ||
| tunit1.pp | ||
| tunit2.pp | ||
| tunit3.pp | ||
| uimpluni1.pp | ||
| uimpluni2.pp | ||
| uunit1.pp | ||
| uunit2a.pp | ||
| uunit2b.pp | ||
| uunit3a.pp | ||
| uunit3b.pp | ||
| uunit3c.pp | ||
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.
'Natural type' is a signed 32-bit value on 32-bit architectures.
'Natural type' is a signed 64-bit value on 64-bit architectures.
secondadd() ........... /cg/taddbool.pp Boolean arithmetic operations
secondadd() ........... /cg/taddcard.pp Cardinal arithmetic operations
secondadd() ........... /cg/taddreal.pp Real arithmetic operations
secondadd() ........... /cg/taddlong.pp Longint arithmetic operations
secondadd() ........... /cg/tadint64.pp 64-bit integer arithmeric operations
secondload()........... /cg/tldparam.pp Load subroutine parameters
secondload()........... /cg/tldlocal.pp Load subroutine local variables
secondshlshr()......... /cg/tshlshr.pp Shift routines on natural compiler types
secondunaryminus()..... /cg/tneg.pp Negate on natural compiler types
secondnot() ........... /cg/tnot.pp NOT operator node
secondmoddiv() ........ /cg/tmoddiv.pp Division and module node
secondtypeconv() ...... /cg/tstrcnv1.pp String -> String conversion
secondtypeconv() ......
secondis() ............
secondas() ............
secondfor() ...........
secondexitn() .........
secondraise() .........
secondtryexcept() .....
secondtryfinally() ....
secondon() ............
secondinline() ........
secondload() ..........
secondassignment() ....
secondarrayconstruct().
secondloadvmt()........
secondnewn()...........
secondhdisposen() .....
secondsimplenewdispose().
secondaddr() ..........
seconddoubleaddr() ....
secondderef() .........
secondvecn() ..........
secondwith() ..........
secondsetelement() ....
secondin() ............
secondcase() ..........
--------------------------------------------------------------------
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
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
--------------------------------------------------------------------
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)