| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- 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)
|