fpc/tests/test
2022-01-19 22:02:58 +01:00
..
alglib
cg Converted tabs to spaces in toverflow.inc for consistency 2021-11-18 20:31:49 +00:00
cpu16 * In the TP mode for 16-bit CPUs uint8+uint8 is extended to sint16+sint16. This is TP compatible. 2020-08-17 09:25:45 +00:00
dots
jvm Fix compilation of the two tests for jvm-android target 2022-01-07 22:56:13 +00:00
library
opt New POPCNT tests to evaluate new optimisations 2022-01-06 20:57:48 +00:00
packages * files moved as strutils is now in rtl-objpas 2021-12-10 22:05:57 +01:00
units * clean up 2022-01-19 22:02:58 +01:00
dumpclass.pp * Fixed tests for 16-bit CPUs. 2020-08-19 11:02:29 +00:00
dumpmethods.pp * Fixed tests for 16-bit CPUs. 2020-08-19 11:02:29 +00:00
lcpref.inc
README.txt
t4cc1.pp
t4cc2.pp
taarch64abi.pp
tabstract1.pp
tabstrcl.pp
tabsvr1.pp
tabsvr2.pp
tabsvr3.pp
tabsvr4.pp
tabsvr5.pp
tabsvr6.pp
tabsvr7.pp
taddstr1.pp
taes1.pp
talign1.pp
talign2.pp
talign.pp
taligned1.pp
tand1.pp
tandorandnot1.pp * fix test so it really uses random values for the boolean, thanks Jonas for the hint! 2021-03-06 15:16:29 +00:00
targ1a.pp
targ1b.pp
tarray1.pp
tarray2.pp
tarray3.pp
tarray4.pp
tarray5.pp
tarray6.pp
tarray7.pp
tarray8.pp
tarray9.pp
tarray10.pp
tarray11.pp
tarray12.pp
tarray13.pp
tarray14.pp
tarray15.pp
tarray16.pp
tarray17.pp
tarray18.pp
tarray19.pp
tarray20.pp
tarray21.pp
tarray22.pp * fix for Mantis #37221: apply adjusted patch by Ondrej Pokorny to allow the use of Copy() on open array parameters (the result will be a dynamic array) 2020-09-18 15:00:10 +00:00
tarrconstr1.pp
tarrconstr2.pp
tarrconstr3.pp
tarrconstr4.pp
tarrconstr5.pp
tarrconstr6.pp
tarrconstr7.pp
tarrconstr8.pp * reject the default Create array constructor if used on a variable instead of a type 2020-08-05 21:35:01 +00:00
tarrconstr9.pp * fix for Mantis #36909: apply patch by Ryan Joseph so that array constructors can be used for static arrays as well. 2020-09-18 15:00:15 +00:00
tarrconstr10.pp * fix for Mantis #36909: apply patch by Ryan Joseph so that array constructors can be used for static arrays as well. 2020-09-18 15:00:15 +00:00
tarrconstr11.pp * fix for Mantis #36909: apply patch by Ryan Joseph so that array constructors can be used for static arrays as well. 2020-09-18 15:00:15 +00:00
tarrconstr12.pp * fix for Mantis #36909: apply patch by Ryan Joseph so that array constructors can be used for static arrays as well. 2020-09-18 15:00:15 +00:00
tarrconstr13.pp * fix for Mantis #36909: apply patch by Ryan Joseph so that array constructors can be used for static arrays as well. 2020-09-18 15:00:15 +00:00
tarrconstr14.pp * fix for Mantis #36909: apply patch by Ryan Joseph so that array constructors can be used for static arrays as well. 2020-09-18 15:00:15 +00:00
tarrconstr15.pp * fix for Mantis #36909: apply patch by Ryan Joseph so that array constructors can be used for static arrays as well. 2020-09-18 15:00:15 +00:00
tarrconstr16.pp * correctly handle static arrays with a lower index <> 0 2020-09-19 21:20:07 +00:00
tasm1.pp
tasm2.inc
tasm2.pp
tasm2a.pp
tasm3.pp
tasm4.pp
tasm5.pp
tasm6.pp
tasm7.pp
tasm8.pp
tasm9.pp
tasm10.pp
tasm10a.pp
tasm11a.pp
tasm11b.pp
tasm11c.pp
tasm12a.pp
tasm12b.pp
tasm12c.pp
tasm13a.pp
tasm13b.pp
tasm13c.pp
tasm13d.pp
tasm13e.pp
tasm13f.pp
tasm13g.pp
tasm13h.pp
tasm13i.pp
tasm13j.pp
tasm14a.pp
tasm14b.pp
tasm14c.pp
tasm14d.pp
tasm14e.pp
tasm14f.pp
tasm15.pp
tasm15a.pp
tasm16.pp
tasm17.pp
tasm18.pp
tasm18a.pp
tasm18b.pp
tasm18c.pp
tasm18d.pp
tasm18e.pp
tasm18f.pp
tasm18g.pp
tasm18h.pp
tasm19.pp
tasm20.pp
tasm21.pp
tasm21a.pp
tasm21b.pp
tasm22.pp
tasm23.pp
tasm23a.pp
tasm23b.pp * adapt optimizer to handle push/pop for stack alignment 2020-05-23 17:50:14 +00:00
tasm24.pp
tasm25cs0.pp
tasm25cs1.pp
tasm25cs2.pp
tasm25cs3.pp
tasm25ds0.pp
tasm25ds1.pp
tasm25ds2.pp
tasm25ds3.pp
tasm25es0.pp
tasm25es1.pp
tasm25es2.pp
tasm25es3.pp
tasm25fs0.pp
tasm25fs1.pp
tasm25gs0.pp
tasm25gs1.pp
tasm25ss0.pp
tasm25ss1.pp
tasm25ss2.pp
tasm25ss3.pp
tasm26.pp
tasm27.pp
tasm27a.pp
tasmpublic1.pp
tasmpublic2.pp
tasmpublic3.pp
tasmread.pp
tasout.pp
tassignmentoperator1.pp
tb0266.pp
tblock1.pp
tblock1a.pp
tblock1c.pp
tblock2.pp
tblock2a.pp
tblock3a.pp
tblock3b.pp
tbopr.pp
tbrtlevt.pp
tbsx1.pp
tbsx2.pp
tcas128.pp + RTMSupport function 2020-12-22 22:00:08 +00:00
tcase0.pp
tcase1.pp
tcase2.pp
tcase3.pp
tcase4.pp
tcase5.pp
tcase6.pp
tcase7.pp
tcase8.pp
tcase9.pp
tcase10.pp
tcase11.pp
tcase12.pp
tcase13.pp
tcase14.pp
tcase15.pp
tcase16.pp
tcase17.pp
tcase18.pp
tcase19.pp
tcase20.pp
tcase21.pp
tcase22.pp
tcase23.pp
tcase24.pp
tcase25.pp
tcase26.pp
tcase27.pp
tcase28.pp
tcase29.pp
tcase30.pp
tcase31.pp
tcase32.pp
tcase33.pp
tcase34.pp
tcase35.pp
tcase36.pp
tcase37.pp
tcase38.pp
tcase39.pp
tcase40.pp
tcase41.pp
tcase42.pp
tcase43.pp
tcase44.pp
tcase45_2.pp
tcase45.pp
tcase46_2.pp
tcase46.pp
tcase47_2.pp
tcase47.pp
tcase48_2.pp
tcase48.pp
tcase49.pp
tcase50.pp * according to ISO 10206 (Extended Pascal) 6.9.3.5 the "otherwise"-clause is supported for case-statements 2020-09-24 11:41:43 +00:00
tcasecov1.pp
tcasecov2.pp
tcasecov3.pp
tcasecov3a.pp
tcasecov3b.pp
tcasecov3c.pp
tcasecov3d.pp
tcasecov3e.pp
tcasecov4.pp
tcasecov5.pp
tcasecov6.pp
tcasecov7.pp
tcasecov8.pp
tcasecov9.pp
tcg1.pp
tchlp1.pp
tchlp2.pp
tchlp3.pp
tchlp4.pp
tchlp5.pp
tchlp6.pp
tchlp7.pp
tchlp8.pp
tchlp9.pp
tchlp10.pp
tchlp11.pp
tchlp12.pp
tchlp13.pp
tchlp14.pp
tchlp15.pp
tchlp16.pp
tchlp17.pp
tchlp18.pp
tchlp19.pp
tchlp20.pp
tchlp21.pp
tchlp22.pp
tchlp23.pp
tchlp24.pp
tchlp25.pp
tchlp26.pp
tchlp27.pp
tchlp28.pp
tchlp29.pp
tchlp30.pp
tchlp31.pp
tchlp32.pp
tchlp33.pp
tchlp34.pp
tchlp35.pp
tchlp36.pp
tchlp37.pp
tchlp38.pp
tchlp39.pp
tchlp40.pp
tchlp41.pp
tchlp42.pp
tchlp43.pp
tchlp44.pp
tchlp45.pp
tchlp46.pp
tchlp47.pp
tchlp48.pp
tchlp49.pp
tchlp50.pp
tchlp51.pp
tchlp52.pp
tchlp53.pp
tchlp54.pp
tchlp55.pp
tchlp56.pp
tchlp57.pp
tchlp58.pp
tchlp59.pp
tcint64.pp
tclass1.pp
tclass2.pp
tclass3.pp
tclass4.pp
tclass5.pp
tclass6.pp
tclass7.pp
tclass8.pp
tclass9.pp
tclass10.pp
tclass10a.pp
tclass10b.pp
tclass10c.pp
tclass11a.pp
tclass11b.pp
tclass12a.pp
tclass12b.pp
tclass12c.pp
tclass12d.pp
tclass13.pp
tclass13a.pp
tclass13b.pp
tclass13c.pp
tclass13d.pp
tclass14a.pp
tclass14b.pp
tclass15.pp
tclass16.pp
tclass17.pp
tclassinfo1.pp
tclrprop.pp
tcmov1.pp
tcmp0.pp
tcmp.pp
tconstref1.pp
tconstref2.pp
tconstref3.pp
tconstref4.pp
tcpstr1.pp
tcpstr2.pp
tcpstr2a.pp
tcpstr3.pp
tcpstr4.pp
tcpstr5.pp
tcpstr6.pp
tcpstr7.pp
tcpstr8.pp
tcpstr9.pp
tcpstr10.pp
tcpstr11.pp
tcpstr12.pp
tcpstr13.pp
tcpstr14.pp
tcpstr15.pp
tcpstr16.pp
tcpstr17.pp
tcpstr18.pp
tcpstr19.pp
tcpstr20.pp
tcpstr21.pp
tcpstr21a.pp
tcpstr22.pp
tcpstr23.pp
tcpstr24.pp
tcpstr25.pp
tcpstr26.pp
tcpstr26a.pp
tcpstr26b.pp
tcpstr26c.pp
tcpstr26d.pp
tcpstr27.pp
tcpstr28.pp
tcpstransistr2shortstring.pp
tcpstransistr2widechararray2.pp
tcpstransistr2widechararray.pp
tcpstransistrcompare.pp
tcpstransistrcompareequal.pp
tcpstransistrcopy.pp
tcpstrassignansistr.pp
tcpstrchar2ansistr.pp
tcpstrconcat2.pp
tcpstrconcat3.pp
tcpstrconcat4.pp
tcpstrconcat.pp
tcpstrconcatmulti2.pp
tcpstrconcatmulti.pp
tcpstrpchar2ansistr.pp
tcpstrsetlength2.pp
tcpstrsetlength.pp
tcpstrshortstr2ansistr.pp
tcptypedconst2.pp
tcptypedconst3.pp
tcptypedconst.pp
tcstring1.pp
tcstring2.pp
tcurrency1.pp
tcustomattr1.pp
tcustomattr2.pp
tcustomattr3.pp
tcustomattr4.pp
tcustomattr5.pp
tcustomattr6.pp
tcustomattr7.pp
tcustomattr8.pp
tcustomattr9.pp
tcustomattr10.pp
tcustomattr11.pp
tcustomattr12.pp
tcustomattr13.pp
tcustomattr14.pp
tcustomattr15.pp
tcustomattr16.pp
tcustomattr17.pp
tcustomattr18.pp
tcustomattr19.pp
tcustomattr20.pp
tcustomattr21.pp
tcustomattr22.pp
tcustomvar1.pp * fix test so that it will work correctly on non-Windows as well 2021-06-06 20:51:46 +00:00
tdefault1.pp
tdefault2.pp
tdefault3.pp
tdefault4.pp
tdefault5.pp
tdefault6.pp
tdefault7.pp
tdefault8.pp
tdefault9.pp
tdefault10.pp
tdefault11.pp
tdefault12.pp
tdefault13.pp
tdefault14.pp
tdefault15.pp
tdel1.pp
tdel2.pp
tdes1.pp * AVR: made avr_des intrinsic more usefull 2021-05-13 18:59:28 +00:00
tdes2.pp * AVR: made avr_des intrinsic more usefull 2021-05-13 18:59:28 +00:00
tdispinterface1a.pp
tdispinterface1b.pp
tdispinterface2.pp
tdotunits1.pp
tdotunits2.pp
tdotunits3.pp
tdotunits4.pp
tendian1.pp
tenum1.pp
tenum2.pp
tenum3.pp
tenum4.pp
tenum5.pp
tenum6.pp
tenumerators1.pp
terecs1.pp
terecs2.pp
terecs3.pp
terecs4.pp
terecs5.pp
terecs6.pp
terecs7.pp
terecs8.pp
terecs9.pp
terecs10.pp
terecs11.pp
terecs12.pp
terecs12a.pp
terecs12b.pp
terecs12c.pp
terecs12d.pp
terecs13.pp
terecs13a.pp
terecs13b.pp
terecs13c.pp
terecs13d.pp
terecs14.pp
terecs15.pp
terecs16.pp
terecs17.pp
terecs17a.pp
terecs18.pp
terecs18a.pp
terecs19.pp
terecs20.pp
terecs21.pp
terecs_u1.pp
testcmem.pp
testda1.pp
testfpuc.pp
testlderror.pp
testmovd.pp
tests.pp
testsse2.pp
testv1.pp
testv2.pp
testv3.pp
testv4.pp
testv5.pp
testv6.pp
testv7.pp
testv8.pp
testv9.pp
testv10.pp
texception1.pp
texception2.pp
texception3.pp
texception4.pp * extended test 2020-12-19 12:58:35 +00:00
texception5.pp
texception6.pp
texception7.pp
texception8.pp
texception9.pp
texception10.pp
texception11.pp * in the default exception handler add the captured exception to the exception object stack as well 2021-06-06 17:06:24 +00:00
textpas01.pp
textthr.pp
tfillchr.pp
tfinal1.pp
tfinal2.pp
tfma1.inc + Xtensa: FMA support 2020-11-24 20:59:47 +00:00
tfma1a64.pp
tfma1arm.pp
tfma1x86.pp
tfma1xtensa.pp + Xtensa: FMA support 2020-11-24 20:59:47 +00:00
tforin1.pp
tforin2.pp
tforin3.pp
tforin4.pp
tforin5.pp
tforin6.pp
tforin7.pp
tforin8.pp
tforin9.pp
tforin10.pp
tforin11.pp
tforin12.pp
tforin13.pp
tforin14.pp
tforin15.pp
tforin16.pp
tforin17.pp
tforin18.pp
tforin19.pp
tforin20.pp
tforin21.pp
tforin22.pp
tforin23.pp
tforin24.pp
tforin25.pp
tforin26.pp
tforin27.pp
tforin28.pp
tfpu1.pp
tfpu2.pp
tfpu3.pp
tfpu4.pp
tfpu5.pp
tfpuover.pp
tfwork1.pp
tfwork2.pp
tgenconst1.pp
tgenconst2.pp
tgenconst3.pp
tgenconst4.pp
tgenconst5.pp
tgenconst6.pp
tgenconst7.pp
tgenconst8.pp
tgenconst9.pp
tgenconst10.pp
tgenconst11.pp
tgenconst12.pp
tgenconst13.pp
tgenconst14.pp
tgenconst15.pp
tgenconst16.pp
tgenconst17.pp
tgenconst18.pp
tgenconst19.pp
tgenconst20.pp
tgenconst21.pp
tgenconst22.pp
tgenconst23.pp
tgenconst24.pp
tgenconst25.pp
tgenconst26.pp
tgenconst27.pp
tgenconst28.pp
tgenconst29.pp
tgenconst30.pp
tgenconstraint1.pp
tgenconstraint2.pp
tgenconstraint3.pp
tgenconstraint4.pp
tgenconstraint5.pp
tgenconstraint6.pp
tgenconstraint7.pp
tgenconstraint8.pp
tgenconstraint9.pp
tgenconstraint10.pp
tgenconstraint11.pp
tgenconstraint12.pp
tgenconstraint13.pp
tgenconstraint14.pp
tgenconstraint15.pp
tgenconstraint16.pp
tgenconstraint17.pp
tgenconstraint18.pp
tgenconstraint19.pp
tgenconstraint20.pp
tgenconstraint21.pp
tgenconstraint22.pp
tgenconstraint23.pp
tgenconstraint24.pp
tgenconstraint25.pp
tgenconstraint26.pp
tgenconstraint27.pp
tgenconstraint28.pp
tgenconstraint29.pp
tgenconstraint30.pp
tgenconstraint31.pp
tgenconstraint32.pp
tgenconstraint33.pp
tgenconstraint34.pp
tgenconstraint35.pp
tgenconstraint36.pp
tgenconstraint37.pp
tgenconstraint38.pp
tgenconstraint39.pp
tgenconstraint40.pp
tgeneric1.pp
tgeneric2.pp
tgeneric3.pp
tgeneric4.pp
tgeneric5.pp
tgeneric6.pp
tgeneric7.pp
tgeneric8.pp
tgeneric9.pp
tgeneric10.pp
tgeneric11.pp
tgeneric12.pp
tgeneric13.pp
tgeneric14.pp
tgeneric15.pp
tgeneric16.pp
tgeneric17.pp
tgeneric18.pp
tgeneric19.pp
tgeneric20.pp
tgeneric21.pp
tgeneric22.pp
tgeneric23.pp
tgeneric24.pp
tgeneric25.pp
tgeneric26.pp
tgeneric27.pp
tgeneric28.pp
tgeneric29.pp
tgeneric30.pp
tgeneric31.pp
tgeneric32.pp
tgeneric33.pp
tgeneric34.pp
tgeneric35.pp
tgeneric36.pp
tgeneric37.pp
tgeneric38.pp
tgeneric39.pp
tgeneric40.pp
tgeneric41.pp
tgeneric42.pp
tgeneric43.pp
tgeneric44.pp
tgeneric45.pp
tgeneric46.pp
tgeneric47.pp
tgeneric48.pp
tgeneric49.pp
tgeneric50.pp
tgeneric51.pp
tgeneric52.pp
tgeneric53.pp
tgeneric54.pp
tgeneric55.pp
tgeneric56.pp
tgeneric57.pp
tgeneric58.pp
tgeneric59.pp
tgeneric60.pp
tgeneric61.pp
tgeneric62.pp
tgeneric63.pp
tgeneric64.pp
tgeneric65.pp
tgeneric66.pp
tgeneric67.pp
tgeneric68.pp
tgeneric69.pp
tgeneric70.pp
tgeneric71.pp
tgeneric72.pp
tgeneric73.pp
tgeneric74.pp
tgeneric75.pp
tgeneric76.pp
tgeneric77.pp
tgeneric78.pp
tgeneric79.pp
tgeneric80.pp
tgeneric81.pp
tgeneric82.pp
tgeneric83.pp
tgeneric84.pp
tgeneric85.pp
tgeneric86.pp
tgeneric87.pp
tgeneric88.pp
tgeneric89.pp
tgeneric90.pp
tgeneric91.pp
tgeneric92.pp
tgeneric93.pp
tgeneric94.pp
tgeneric95.pp
tgeneric96.pp
tgeneric97.pp
tgeneric98.pp
tgeneric99.pp
tgeneric100.pp
tgeneric101.pp
tgeneric102.pp
tgeneric103.pp
tgeneric104.pp
tgeneric105.pp
tgeneric106.pp * apply patch by Blaise.ru to allow specializations for the result type of function and method variables 2020-12-16 21:43:30 +00:00
tgeneric107.pp * apply patch by Blaise.ru to allow specializations for the result type of function and method variables 2020-12-16 21:43:30 +00:00
tgenfunc1.pp
tgenfunc2.pp
tgenfunc3.pp
tgenfunc4.pp
tgenfunc5.pp
tgenfunc6.pp
tgenfunc7.pp
tgenfunc8.pp
tgenfunc9.pp
tgenfunc10.pp
tgenfunc11.pp
tgenfunc12.pp
tgenfunc13.pp
tgenfunc14.pp
tgenfunc15.pp
tgenfunc16.pp
tgenfunc17.pp
tgenfunc18.pp
tgenfunc19.pp
tgenfunc20.pp
tgenfunc21.pp
tgenfunc22.pp
tgenfunc23.pp * if a call inside a generic's code that involves generic type arguments can't be clearly determined then postpone it till specialization in the hope that the type will be clear then 2020-12-04 22:07:34 +00:00
tgenfunc24.pp * Delphi does not allow a generic method to be overloaded by a non generic type of the same name (unlike for generic types and non generic routines); this is probably done to simplify the implementation of implicit specializations of generic methods so we do this as well. For this we change the dummy symbol for generic routines from a typesym to a procsym 2021-01-02 23:23:39 +00:00
tgenfunc25.pp * Delphi does not allow a generic method to be overloaded by a non generic type of the same name (unlike for generic types and non generic routines); this is probably done to simplify the implementation of implicit specializations of generic methods so we do this as well. For this we change the dummy symbol for generic routines from a typesym to a procsym 2021-01-02 23:23:39 +00:00
tgenfunc26.pp * Delphi does not allow a generic method to be overloaded by a non generic type of the same name (unlike for generic types and non generic routines); this is probably done to simplify the implementation of implicit specializations of generic methods so we do this as well. For this we change the dummy symbol for generic routines from a typesym to a procsym 2021-01-02 23:23:39 +00:00
tgenfunc27.pp * Delphi does not allow a generic method to be overloaded by a non generic type of the same name (unlike for generic types and non generic routines); this is probably done to simplify the implementation of implicit specializations of generic methods so we do this as well. For this we change the dummy symbol for generic routines from a typesym to a procsym 2021-01-02 23:23:39 +00:00
tgoto.pp
theap2.pp
theap2gh.pp
theap.pp
theapthread.pp * let theapthread wait unneededly less so the total run time is shorter 2021-01-24 13:26:49 +00:00
thintdir1.pp
thintdir2a.pp
thintdir2b.pp
thintdir.pp
thlp1.pp
thlp2.pp
thlp3.pp
thlp4.pp
thlp5.pp
thlp6.pp
thlp7.pp
thlp8.pp
thlp9.pp
thlp10.pp
thlp11.pp
thlp12.pp
thlp13.pp
thlp14.pp
thlp15.pp
thlp16.pp
thlp17.pp
thlp18.pp
thlp19.pp
thlp20.pp
thlp21.pp
thlp22.pp
thlp23.pp
thlp24.pp
thlp25.pp
thlp26.pp
thlp27.pp
thlp28.pp
thlp29.pp
thlp30.pp
thlp31.pp
thlp32.pp
thlp33.pp
thlp34.pp
thlp35.pp
thlp36.pp
thlp37.pp
thlp38.pp
thlp39.pp
thlp40.pp
thlp41.pp
thlp42.pp
thlp43.pp
thlp44.pp
thlp45.pp
thlp46.pp
thlp47.pp
thlp48.pp
timplements1.pp
timplements2.pp
timplements3.pp
timplements4.pp
timplements4a.pp
timplements4b.pp
timplements7.pp
timplprog.pp
tindex.pp
tinivar.pp
tinlin64.pp
tinline1.pp
tinline2.pp
tinline3.pp
tinline4.pp
tinline5.pp
tinline6.pp
tinline7.pp
tinline8.pp
tinline9.pp
tinline10.pp
tinlrange1.pp
tinlrange2.pp
tinlrange3.pp
tinlrange4.pp
tint2str1.pp
tint2str2.pp
tint641.pp * made test more usefull 2020-08-22 19:38:07 +00:00
tint642.pp
tint643.pp
tint644.pp
tinterface1.pp
tinterface2.pp
tinterface3.pp
tinterface4.pp
tinterface5.pp
tinterface6.pp
tinterlocked64mt.pp
tinterlockedmt.pp
tinterrupt.pp
tintfcdecl1.pp
tintfcdecl2.pp
tintfdef.pp
tintuint.pp
tisconstvalue1.pp * fix for Mantis #37251: apply patches by Bi0T1N to implement the IsConstValue() intrinsic 2020-06-25 20:42:47 +00:00
tisconstvalue2.pp * fix for Mantis #37251: apply patches by Bi0T1N to implement the IsConstValue() intrinsic 2020-06-25 20:42:47 +00:00
tisconstvalue3.pp * fix for Mantis #37251: apply patches by Bi0T1N to implement the IsConstValue() intrinsic 2020-06-25 20:42:47 +00:00
tisconstvalue4.pp * fix for Mantis #37251: apply patches by Bi0T1N to implement the IsConstValue() intrinsic 2020-06-25 20:42:47 +00:00
tismngd1.pp
tismngd2.pp
tisobuf1.pp
tisobuf2.pp
tisoext1.pp
tisoext2.pp
tisoext3.pp
tisoext4.pp
tisoext5.pp
tisoext6.pp
tisogoto1.pp * If a nested procedure does not access its parent's frame pointer, optimize it by removing the hidden $parentfp parameter. 2020-05-06 14:43:49 +00:00
tisogoto2.pp
tisogoto3.pp
tisogoto4.pp
tisogoto5.pp
tisoread.pp
tisorec1.pp
tisorec2.pp
tisorec3.pp
tisorec4.pp
tisorec5.pp * allow in iso mode constants selecting the branch to dispose of a variant record (no functional effect though), resolves #37085 2020-05-27 21:10:55 +00:00
tlea1.pp
tlea2.pp
tlib1a.pp
tlib1b.pp
tlib2a.pp
tlib2b.pp
tlibrary1.pp
tlibrary2.pp
tlibrary3.pp
tmacbool.pp
tmacfunret2.pp
tmacfunret.pp
tmaclocalprocparam1.pp
tmaclocalprocparam1a.pp
tmaclocalprocparam2.pp
tmaclocalprocparam2a.pp
tmaclocalprocparam2b.pp
tmaclocalprocparam2c.pp
tmaclocalprocparam2d.pp
tmaclocalprocparam2e.pp
tmaclocalprocparam2f.pp
tmaclocalprocparam3.pp
tmaclocalprocparam3a.pp
tmaclocalprocparam3b.pp
tmaclocalprocparam3c.pp
tmaclocalprocparam3d.pp
tmaclocalprocparam3e.pp
tmaclocalprocparam3f.pp
tmaclocalprocparam4.pp
tmaclocalprocparam4a.pp
tmaclocalprocparam4b.pp
tmaclocalprocparam4c.pp
tmaclocalprocparam4d.pp
tmaclocalprocparam4e.pp
tmaclocalprocparam4f.pp
tmaclocalprocparam4g.pp
tmaclocalprocparam4h.pp
tmacnonlocalexit1.pp
tmacnonlocalexit2.pp
tmacnonlocalgoto.pp
tmacpas1.pp
tmacpas2.pp
tmacpas3.pp
tmacpas4.pp
tmacpas5.pp
tmacprocvar.pp
tmainnam.pp
tmath1.pp
tmcbool2.pp
tminmax.pp * activate missing test 2021-12-19 22:57:33 +01:00
tmmx1.pp
tmoperator1.pp
tmoperator2.pp
tmoperator3.pp
tmoperator4.pp
tmoperator5.pp
tmoperator6.pp
tmoperator7.pp
tmoperator8.pp
tmoperator9.pp
tmoperator10.pp
tmoperator11.pp
tmove.pp
tmsg1.pp
tmsg2.pp
tmsg3.pp
tmsg4.pp
tmshlp1.pp
tmshlp2.pp
tmshlp3.pp
tmshlp4.pp
tmshlp5.pp
tmshlp6.pp
tmshlp7.pp
tmshlp8.pp
tmshlp9.pp
tmshlp10.pp
tmshlp11.pp
tmshlp12.pp
tmshlp13.pp
tmshlp14.pp
tmshlp15.pp
tmshlp16.pp
tmt1.pp Extend list of CPUs defining slowcpu conditional in tmt1 and tw8177 sources 2021-02-26 23:39:14 +00:00
tmul1.pp
tnest1.pp
tnest2.pp * Always use parentfp for forward-declared nested procedures. 2020-05-09 17:52:17 +00:00
tnest3.pp * Fixed the parentfp optimization for some cases when nested procvars are used. 2020-06-20 18:28:07 +00:00
tnest4.pp * Reworked tprocdef.is_implemented to fix a bug with the parentfp optimization. The bug was detected when using the llvm backend. 2020-06-21 19:52:14 +00:00
tnest5.pp + Added a test for: When {$mode delphi} and {$modeswitch nestedprocvars} it is allowed to assign a nested routine which does not use parentfp to a regular procvar. And then call this procvar without any side effects. 2020-10-26 17:53:40 +00:00
tnoext1.pp
tnoext2.pp
tnoext3.pp
tnoext4.pp
tnonlocalgoto1.pp
tnonlocalgoto2.pp
tnonlocalgoto3.pp
tnoreturn1.pp
tnostackframe2.pp
tnostackframe3.pp
tnostackframe.pp
tobjc1.pp
tobjc2.pp
tobjc3.pp
tobjc4.pp
tobjc4a.pp
tobjc5.pp
tobjc5a.pp
tobjc6.pp
tobjc7.pp
tobjc7a.pp
tobjc7b.pp
tobjc7c.pp
tobjc8.pp
tobjc8a.pp
tobjc9.pp
tobjc9a.pp
tobjc9b.pp
tobjc10.pp
tobjc11.pp
tobjc12.pp
tobjc13.pp
tobjc13a.pp
tobjc13b.pp
tobjc14.pp
tobjc15.pp
tobjc16.pp
tobjc17.pp
tobjc18.pp
tobjc19.pp
tobjc20.pp
tobjc21.pp
tobjc22.pp
tobjc22a.pp
tobjc22b.pp
tobjc23.pp
tobjc24.pp
tobjc25.pp
tobjc26.pp
tobjc26a.pp
tobjc27a.pp
tobjc27b.pp
tobjc28.pp
tobjc29.pp
tobjc29a.pp
tobjc29b.pp
tobjc30.pp
tobjc30a.pp
tobjc30b.pp
tobjc30c.pp
tobjc31.pp
tobjc32.pp
tobjc32a.pp
tobjc32b.pp
tobjc34.pp
tobjc34a.pp
tobjc35a.pp
tobjc35b.pp
tobjc35c.pp
tobjc35d.pp
tobjc35f.pp
tobjc35g.pp
tobjc35h.pp
tobjc35i.pp
tobjc36.pp
tobjc36a.pp
tobjc37.pp
tobjc38.pp
tobjc39.pp
tobjc40.pp
tobjc41.pp
tobjc42.pp
tobjc43.pp
tobjcl1.pp
tobjcl2.pp
tobjcl3.pp
tobjcl4.pp
tobject1.pp
tobject2.pp
tobject3.pp
tobject4.pp
tobject5.pp
tobject6.pp
tobject7.pp
tobject8.pp
tobject9.pp
tobject10.pp
toperator1.pp
toperator2.pp
toperator3.pp
toperator4.pp
toperator5.pp
toperator6.pp
toperator7.pp
toperator8.pp
toperator9.pp
toperator10.pp
toperator11.pp
toperator12.pp
toperator13.pp
toperator14.pp
toperator15.pp
toperator16.pp
toperator17.pp
toperator18.pp
toperator19.pp
toperator20.pp
toperator21.pp
toperator22.pp
toperator23.pp
toperator24.pp
toperator25.pp
toperator26.pp
toperator27.pp
toperator28.pp
toperator29.pp
toperator30.pp
toperator31.pp
toperator32.pp
toperator33.pp
toperator34.pp
toperator35.pp
toperator36.pp
toperator37.pp
toperator38.pp
toperator39.pp
toperator40.pp
toperator41.pp
toperator42.pp
toperator43.pp
toperator44.pp
toperator45.pp
toperator46.pp
toperator47.pp
toperator48.pp
toperator49.pp
toperator50.pp
toperator51.pp
toperator52.pp
toperator53.pp
toperator54.pp
toperator55.pp
toperator56.pp
toperator57.pp
toperator58.pp
toperator59.pp
toperator60.pp
toperator61.pp
toperator62.pp
toperator63.pp
toperator64.pp
toperator65.pp
toperator66.pp
toperator67.pp
toperator68.pp
toperator69.pp
toperator70.pp
toperator71.pp
toperator72.pp
toperator73.pp
toperator74.pp
toperator75.pp
toperator76.pp
toperator77.pp
toperator78.pp
toperator79.pp
toperator80.pp
toperator81.pp
toperator82.pp
toperator83.pp
toperator84.pp
toperator85.pp
toperator86.pp
toperator87.pp
toperator88.pp
toperator89.pp
toperator90.pp
toperator91.pp * fix for Mantis #38145: allow overloading of assignment operators that return ShortStrings with a specific size 2020-11-29 15:47:52 +00:00
toperator92.pp * fix for Mantis #38145: allow overloading of assignment operators that return ShortStrings with a specific size 2020-11-29 15:47:52 +00:00
toperator93.pp * fix for Mantis #38145: allow overloading of assignment operators that return ShortStrings with a specific size 2020-11-29 15:47:52 +00:00
toperator94.pp * fix for Mantis #38145: allow overloading of assignment operators that return ShortStrings with a specific size 2020-11-29 15:47:52 +00:00
toperator95.pp * fix for Mantis #38145: allow overloading of assignment operators that return ShortStrings with a specific size 2020-11-29 15:47:52 +00:00
toperatorerror.pp
tover1.pp
tover2.pp
tover3.pp
tover4.pas
tover4.pp
tover5.pp * reject overloads if they only differ in the result types (as long as they aren't operator overloads) 2020-07-31 15:55:34 +00:00
tover6.pp * reject overloads if they only differ in the result types (as long as they aren't operator overloads) 2020-07-31 15:55:34 +00:00
tover7.pp * reject overloads if they only differ in the result types (as long as they aren't operator overloads) 2020-07-31 15:55:34 +00:00
tover8.pp * reject overloads if they only differ in the result types (as long as they aren't operator overloads) 2020-07-31 15:55:34 +00:00
tover9.pp * reject overloads if they only differ in the result types (as long as they aren't operator overloads) 2020-07-31 15:55:34 +00:00
tp2align.pp + support reading of .p2align with op code and/or max. bytes in the gas assembler reader 2021-10-18 22:12:27 +02:00
tpackrec.pp
tparray1.pp
tparray2.pp
tparray3.pp
tparray4.pp
tparray5.pp
tparray6.pp
tparray7.pp
tparray8.pp
tparray9.pp
tparray10.pp
tparray11.pp
tparray12.pp
tparray13.pp
tparray14.pp
tparray15.pp
tparray16.pp
tparray17.pp
tparray18.pp
tparray19.pp
tparray20.pp
tparray21.pp
tparray22.pp
tparray23.pp
tparray24.pp
tparray25.pp
tparray26.pp
tpftch1.pp
tpointermath1.pp
tpointermath2.pp
tpointermath3.pp
tpoll.pp
tpopcnt1.pp
tpopcnt2.pp
tprec1.pp
tprec2.pp
tprec3.pp
tprec4.pp
tprec5.pp
tprec6.pp
tprec7.pp
tprec8.pp * made exit codes unique 2020-12-27 13:19:05 +00:00
tprec9.pp
tprec10.pp
tprec11.pp
tprec12.pp
tprec13.pp
tprec14.pp
tprec15.pp
tprec16.pp
tprec17.pp
tprec18.pp
tprec19.pp
tprec20.pp
tprec21.pp
tprec22.pp
tprec23.pp
tprec24.pp
tprec25.pp Fix bitpacking 62/63 bit fields on 64 bit targets 2021-10-03 14:00:50 +02:00
tprocext.pp
tprocvar1.pp
tprocvar2.pp * Added the $F+ switch (forced far calls) for some TP mode tests. 2020-08-16 10:48:10 +00:00
tprocvar3.pp
tprop1.pp
tprop2.pp
tprop.pp
tpropdef.pp
tpushpop1.pp
tpushpop2.pp
tpushpop3.pp
traa641.pp * AArch64: added SIMD instructions (only plain ARMv8-A for now) 2020-10-15 20:29:36 +00:00
trange1.pp
trange2.pp
trange3.pp
trange4.pp
trange5.pp
trangeob.pp
treadonlydata2.pp
treadonlydata.pp
trecreg2.pp
trecreg3.pp
trecreg4.pp
trecreg.pp
tresstr.pp
trhlp1.pp
trhlp2.pp
trhlp3.pp
trhlp4.pp
trhlp5.pp
trhlp6.pp
trhlp7.pp
trhlp8.pp
trhlp9.pp
trhlp10.pp
trhlp11.pp
trhlp12.pp
trhlp13.pp
trhlp14.pp
trhlp15.pp
trhlp16.pp
trhlp17.pp
trhlp18.pp
trhlp19.pp
trhlp20.pp
trhlp21.pp
trhlp22.pp
trhlp23.pp
trhlp24.pp
trhlp25.pp
trhlp26.pp
trhlp27.pp
trhlp28.pp
trhlp29.pp
trhlp30.pp
trhlp31.pp
trhlp32.pp
trhlp33.pp
trhlp34.pp
trhlp35.pp
trhlp36.pp
trhlp37.pp
trhlp38.pp
trhlp39.pp
trhlp40.pp
trhlp41.pp
trhlp42.pp
trhlp43.pp
trhlp44.pp
trhlp45.pp
trox1.pp
trox2.pp
trox3.pp
trox4.pp
trox5.pp
trstr1.pp
trstr2.pp
trstr3.pp
trstr4.pp
trstr5.pp
trstr6.pp
trstr7.pp
trstr8.pp
trtti1.pp
trtti2.pp
trtti3.pp
trtti4.pp
trtti5.pp
trtti6.pp
trtti7.pp
trtti8.pp
trtti9.pp
trtti10.pp
trtti11.pp
trtti12.pp
trtti13.pp
trtti14.pp
trtti15.pp
trtti16.pp
trtti17.pp
trtti18a.pp
trtti18b.pp
trtti19.pp
trtti20.pp
trtti21.pp * fix for Mantis #38642: for enumerations with jumps Delphi behaves as follows: 2021-03-27 09:35:07 +00:00
trtti22.pp * fix for Mantis #38642: for enumerations with jumps Delphi behaves as follows: 2021-03-27 09:35:07 +00:00
trtti23.pp * fix for Mantis #38642: for enumerations with jumps Delphi behaves as follows: 2021-03-27 09:35:07 +00:00
tsafecall1.pp
tsafecall2.pp
tsafecall3.pp
tsafecall4.pp
tsealed1.pp
tsealed2.pp
tsealed3.pp
tsealed4.pp
tsealed5.pp
tsealed6.pp
tsec1.pp
tsel1.pp
tsel2.pp
tset1.pp
tset2.pp
tset2a.pp
tset2b.pp
tset2c.pp
tset2d.pp
tset3.pp
tset4.pp
tset5.pp
tset5a.pp
tset6.pp
tset7.pp
tsetsize.pp
tshuffle1.pp
tsprot.pp
tstack.pp * patch by Don Siders: Fixes spelling, grammar errors in source and compiler messages, resolves #39434 2021-11-10 19:16:14 +01:00
tstatic1.pp
tstatic2.pp
tstatic3.pp
tstatic4.pp
tstatic5.pp
tstdhandle.pp
tstprocv.pp
tstring1.pp
tstring2.pp
tstring3.pp
tstring4.pp
tstring5.pp
tstring6.pp
tstring7.pp
tstring8.pp
tstring9.pp
tstring10.pp
tstring11.pp
tstrreal1.pp
tstrreal2.pp
tstrreal3.pp
tstrreal4.pp
tstrreal5.pp
tstrutils1.pp
tstrutils2.pp
tsubdecl.pp
tsymlibrary1.pp
tthlp1.pp
tthlp2.pp
tthlp3.pp
tthlp4.pp + x86: FstpFld2Fst optimization (re-enabled for safe cases) 2020-09-30 19:20:14 +00:00
tthlp5.pp
tthlp6.pp
tthlp7.pp
tthlp8.pp
tthlp9.pp
tthlp10.pp
tthlp11.pp
tthlp12.pp
tthlp13.pp
tthlp14.pp
tthlp15.pp
tthlp16.pp
tthlp17.pp
tthlp18.pp
tthlp19.pp
tthlp20.pp
tthlp21.pp
tthlp22.pp
tthlp23.pp
tthlp24.pp
tthlp25.pp
tthlp26a.pp
tthlp26b.pp
tthlp26c.pp
tthlp27.pp
tthlp28.pp
tthlp29.pp * Fix for Mantis #38122: when a deref node is passed as a Self parameter for a type helper (which is a var parameter) we need to pass the non-derefentiated value so that the data it points to can be modified by the helper's method (this is Delphi compatible) 2020-11-28 18:32:24 +00:00
tthread1.pp
ttpara1.pp
ttpara2.pp
ttpinl.pp + Added a test for the TP-style INLINE() statement. 2021-08-16 16:12:47 +03:00
ttypeconvtypes.pp
ttypedarray1.pp
ttypedrecord1.pp
ttypedrecord2.pp
ttypedrecord3.pp
ttypedrecord4.pp
tudots2.pp
tudots3.pp
tudots4.pp
tudots5.pp
tudots6.pp
tudots.dot.next.pp
tudots.dot.pp
tudots.dot.prog.pp
tudots.pp
tudots.prog.pp
tudots.test.pp
tuglylabels1.pp
tunaligned1.pp
tunistr1.pp
tunistr2.pp
tunistr4.pp
tunistr5.pp
tunistr6.pp
tunistr7.pp
tunistrcopy.pp
tunit1.pp
tunit2.pp
tunit3.pp
tunroll1.pp
tunroll2.pp
tutf8cpl.pp
tutf81.pp
tutf82.pp
tvarpropsetter1.pp
tvarpropsetter2.pp
tvarset1.pp
tw29833.pp
twarn1.pp
tweaklib1.pp
tweaklib2.pp * Weak externals from DLL are nor supported on Windows. 2021-09-11 19:54:02 +03:00
tweaklib3.pp
tweaklib4.pp
twide1.pp
twide2.pp
twide3.pp
twide4.pp
twide5.pp
twide6.pp
twide7.pp
twide8.pp
twide9.pp
twide10.pp
twide11.pp
twide12.pp
twide13.pp
twrstr1.pp
twrstr2.pp
twrstr3.pp
twrstr4.pp
twrstr5.pp
twrstr6.pp
twrstr7.pp
twrstr8.pp
twrstr9.pp
tx64ccnv.pp
uabstrcl.pp
uchlp12.pp
uchlp18.pp
ucustomattr14a.pp
ucustomattr14b.pp
udots.moredots.unit7.pp
udots.moredots.unit8.pp
udots.udots.unit4.pp
udots.udots.unit5.pp
udots.unit1.pp
udots.unit2.pp
udots.unit3.pp
udots.unit4.pp
udots.unit6.pp
udots.unit8.pp
uenum2a.pp
uenum2b.pp
ugenconstraints.pas
ugeneric3.pp
ugeneric4.pp
ugeneric7.pp
ugeneric10.pp
ugeneric14.pp
ugeneric59a.pp
ugeneric59b.pp
ugeneric74a.pp
ugeneric74b.pp
ugeneric75.pp
ugeneric91a.pp
ugeneric91b.pp
ugeneric93a.pp
ugeneric93b.pp
ugeneric96a.pp
ugeneric96b.pp
ugeneric96c.pp
ugeneric96d.pp
ugeneric99.pp
ugeneric102.pp
ugeneric104.pp
ugeneric.test75.pp
ugenfunc7.pp
ugenfunc19.pp
uhintdir.pp
uhlp3.pp
uhlp31.pp
uhlp39.pp
uhlp41a.pp
uhlp41b.pp
uhlp43.pp
uimpluni1.pp
uimpluni2.pp
uinline4a.pp
uinline4b.pp
ulib2a.pp
umaclocalprocparam3f.pp
umacpas1.pp
umainnam.pp
umshlp1.pp
umshlp15a.pp
umshlp15b.pp
unit3.pp
uobjc7.pp
uobjc24.pp
uobjc26.pp
uobjc27a.pp
uobjc27b.pp
uobjc30c.pp
uobjc35d.pp
uobjc35e.pp
uobjc35f.pp
uobjc35g.pp
uobjc39.pp
uobjc41.pp
uobjc42.pp
uobjcl1.pp
uprec6.pp
uprec7.pp
uprocext1.pp
uprocext2.pp
urhlp14.pp
urhlp17.pp
usprot1.pp
usprot2.pp
utasout.pp
uthlp.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. 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
Variants............... tvariant.pp    tests the variant support of FPC
                        tasout.pp      tests a problem if a unit is compiled with nasm

Code Page strings       tpcstr1.pp     tests the new codepage string type introduced
                         ...           in the 'cpstrnew' branch.
                        tcpstrXX.pp

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