README 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. This directory contains tests for several parts of the compiler and RTL
  2. --------------------------------------------------------------------
  3. Code generator
  4. --------------------------------------------------------------------
  5. These tests should be considered unitary, as they only verify
  6. simple cases of the code generator. Used for porting to other
  7. architectures. Tries to validate all possible Location types
  8. valid for that node. They are based on tests on these
  9. reference platforms:
  10. Borland Pascal v7.01
  11. Delphi 3.0
  12. Delphi 4.0
  13. Delphi 6.0 Personal Edition
  14. 'Natural type' is a signed 32-bit value on 32-bit architectures.
  15. 'Natural type' is a signed 64-bit value on 64-bit architectures.
  16. --------------------------------------------------------------------
  17. Compiler
  18. --------------------------------------------------------------------
  19. Shortstrings .......... tstring1.pp compatibility and speed of shortstrings
  20. tstring2.pp some misc. tests mainly collected
  21. from bug reports
  22. tstring3.pp Typed Constant string loading from
  23. other constants
  24. tstring4.pp Ansistring #1
  25. tstring5.pp Ansistring #2
  26. Classes ............... tclass1.pp AfterConstruction
  27. tclass2.pp BeforeDestruction
  28. Objects ............... tobject1.pp Fail in constructor
  29. Exceptions ............ texception1.pp
  30. texception2.pp
  31. texception3.pp
  32. texception4.pp Math exceptions
  33. Procedure Variable .... tprocvar1.pp
  34. tprocvar2.pp
  35. Libraries ............. testlib.pp a very primitive test
  36. Parameter passing ..... tpara1.pp Out Parameter
  37. Units ................. testu1.pp tests init. & finalization and halt
  38. testu2.pp in finalization
  39. testu3.pp a type redefining problem
  40. testu4.pp
  41. testu5.pp
  42. case .................. tcase1.pp tests case statements with byte and word
  43. sized decision variables
  44. tcase2.pp tests case with sub enum types
  45. Arrays ................ tarray1.pp open arrays with classes
  46. tarray2.pp Array of const
  47. tarray3.pp Array of Char #1 (Known bug)
  48. tarray4.pp Array of Char #2 (Known bug)
  49. Enumerations .......... tenum1.pp tests assignments of subrange
  50. enumerations
  51. Codegenerration ....... tcg1.pp i386 pushw
  52. tcg2.pp saveregisters
  53. tinivar.pp initial values for local variables (1.1)
  54. Inline ................ tinline1.pp tests recursive inlining, inlining
  55. a procedure multiple times and
  56. inlining procedures in other
  57. inline procedures.
  58. tinlin64.pp tests for a problem in pushing 64bit parameters
  59. by value.
  60. TypeInfo .............. trtti2.pp test the function system.typeinfo
  61. trtti3.pp tests the procedure system.finalize
  62. Resourcestrings ....... tresstr.pp tests a simple resource string
  63. Range checking ........ trange1.pp range checking when converting int64/
  64. qword to longint/cardinal
  65. trange2.pp range checking when converting
  66. between longint and cardinal
  67. trange3.pp range checking for array
  68. trange4.pp range checking when assigning
  69. values to int64/qword
  70. Floating Point ........ tfpu1.pp
  71. tfpu2.pp
  72. Assembler readers...... tasmread.pp tests for support of unit or program specifier
  73. testmovd.pp testspecial issues about MOVD instruction
  74. <<<<<<< README
  75. Variants............... tvariant.pp tests the variant support of FPC
  76. =======
  77. tasout.pp tests a problem if a unit is compiled with nasm
  78. >>>>>>> 1.13
  79. --------------------------------------------------------------------
  80. RTL
  81. --------------------------------------------------------------------
  82. SYSTEM
  83. ------
  84. str/write(real_type) .. tstrreal1.pp test correct rounding
  85. tstrreal2.pp test correct writing of 10 till 1e-24
  86. Heap .................. theap.pp Heap manager test
  87. input/output .......... /units/system/tiorte.pp tests inoutres values of invalid operations
  88. Random ................ /units/system/trandom.pp tests random (interactive)
  89. DOS
  90. ---
  91. General .............. /units/dos/tdos.pp (interactive)
  92. General .............. /units/dos/testdos.pas (interactive)
  93. FExpand .............. /units/dos/tfexpand.pp
  94. CRT
  95. ---
  96. General .............. /units/crt/tcrt.pp tests most crt unit functions (interactive)