fpc/tests/test
svenbarth 75bf094e3f Fix for Mantis #21064.
* pgenutil.pas: factor out the reading of generic specialization parameters (parse_generic_specialization_types) and the generation of a generic type name (generate_generic_name)
* pdecsub.pas, parse_proc_head:
    * also allow an interface alias declaration if an identifier is followed by a "<" (which starts a specialization)
    + add a procedure "consume_generic_interface" which parses such a specialization (by using "parse_generic_specialization_types") - this is needed, because "consume_generic_type_parameter" can (and should not!) handle "ISomeIntf<Integer, T>" or (somewhen in the future) "ISomeIntf<TSomeOtherGeneric<T>>" - and finds the correct symbol for the interface (by utilizing the "generate_generic_name" function)
    * generate the correct mapping entry (for the generic it's only needed for checking (if any), but for a specialization it's essential that we reference the correct specialization)

+ add tests which were included with the issue and also two additional ones

Note: In non-Delphi modes an interface alias can be done like in Delphi mode; "specialization" is not necessary and furthermore not even allowed!

git-svn-id: trunk@21656 -
2012-06-20 08:35:57 +00:00
..
alglib * disable alglib tests on architectures without hardware fpu, they take too much time 2012-03-10 13:45:37 +00:00
cg . remove obsolete tests 2012-05-28 14:34:55 +00:00
jvm * fixed conversion of empty ansistring/widestring constants to pchar on 2012-05-26 11:32:20 +00:00
library * change dllparam into PtrInt, this is required for 64 bit systems, patch based on Gennadiy's patch in #21089, resolves #21089 2012-01-14 20:21:52 +00:00
opt * adjustments/fixes for AIX/ppc64 2012-04-25 20:28:32 +00:00
packages * test for bzip2 from Mantis #21261 2012-04-22 10:12:45 +00:00
units * don't check for returned string in case of wildcards and multiple matches (order depends on the underlying filesystem and not guaranteed) 2012-06-05 22:24:57 +00:00
dumpclass.pp
dumpmethods.pp
lcpref.inc * i386 NetBSD uses no C underscore prefix 2012-02-12 19:14:33 +00:00
README.txt merge r14347 from cpstrnew branch by florian: 2011-09-17 12:00:06 +00:00
t4cc1.pp
t4cc2.pp
tabstract1.pp
tabstrcl.pp
tabsvr1.pp
tabsvr2.pp
tabsvr3.pp
tabsvr4.pp
tabsvr5.pp
taddstr1.pp
taes1.pp * Flagged with NOX86_64 instructions/encodings that are invalid in 64-bit mode. 2011-05-11 15:50:59 +00:00
talign1.pp
talign2.pp
talign.pp
targ1a.pp
targ1b.pp
tarray1.pp
tarray2.pp
tarray3.pp
tarray4.pp
tarray5.pp
tarray6.pp
tarray7.pp
tarray8.pp
tarray9.pp
tarray10.pp * Fixed IE201103063 when <dynamic array of unmanaged type> is being passed to <out open array> parameter. 2011-11-25 14:43:17 +00:00
tarrconstr1.pp compiler: implement Delphi like dynamic array constructors. E.g.: SomeArrayVar := TSomeDynArrayType.Create(value1, value2). (issue #0015385) 2011-09-11 04:41:46 +00:00
tarrconstr2.pp compiler: implement Delphi like dynamic array constructors. E.g.: SomeArrayVar := TSomeDynArrayType.Create(value1, value2). (issue #0015385) 2011-09-11 04:41:46 +00:00
tarrconstr3.pp compiler: implement Delphi like dynamic array constructors. E.g.: SomeArrayVar := TSomeDynArrayType.Create(value1, value2). (issue #0015385) 2011-09-11 04:41:46 +00:00
tarrconstr4.pp * added missing { %fail } 2011-09-12 06:53:54 +00:00
tasm1.pp * PSADBW second operand is xmmrm, not xmmreg 2011-05-14 18:59:06 +00:00
tasm2.pp x86 assembler improvements: 2011-10-08 11:34:04 +00:00
tasm3.pp x86 assembler fixes: 2011-05-16 20:18:03 +00:00
tasm4.pp x86 assembler fixes: 2011-05-16 20:18:03 +00:00
tasm5.pp x86 assembler: 2011-05-17 20:06:12 +00:00
tasm6.pp x86 assembler: 2011-05-17 20:06:12 +00:00
tasmread.pp
tasout.pp
tassignmentoperator1.pp
tbopr.pp
tbrtlevt.pp
tbsx1.pp
tcas128.pp
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
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 * merges recent class helper fixes by Sven Barth 2011-06-30 18:54:46 +00:00
tchlp56.pp * merges recent class helper fixes by Sven Barth 2011-06-30 18:54:46 +00:00
tchlp57.pp * merges recent class helper fixes by Sven Barth 2011-06-30 18:54:46 +00:00
tchlp58.pp * merges recent class helper fixes by Sven Barth 2011-06-30 18:54:46 +00:00
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 compiler: don't search symbol in other symtables than in found nested class, fix wrong test + add another one 2012-05-12 08:21:50 +00:00
tclass13a.pp
tclass13b.pp
tclass13c.pp compiler: don't search symbol in other symtables than in found nested class, fix wrong test + add another one 2012-05-12 08:21:50 +00:00
tclass13d.pp compiler: allow compiler to find real class definition during class members parse to handle references to self constants + test 2012-05-14 04:50:49 +00:00
tclass14a.pp
tclass14b.pp
tclass15.pp compiler: allow "with" to search members in nested types properly 2011-09-06 10:23:57 +00:00
tclassinfo1.pp
tclrprop.pp
tcmov1.pp x86_64 assembler reader improvements: 2011-04-20 11:18:13 +00:00
tcmp0.pp
tcmp.pp
tconstref1.pp
tconstref2.pp
tconstref3.pp
tconstref4.pp
tcpstr1.pp + cwstring for unix platforms 2011-09-23 16:43:16 +00:00
tcpstr2.pp merge r13482 from cpstrnew branch by florian: 2011-09-17 10:40:45 +00:00
tcpstr2a.pp merge r13482 from cpstrnew branch by florian: 2011-09-17 10:40:45 +00:00
tcpstr3.pp merge r13482 from cpstrnew branch by florian: 2011-09-17 10:40:45 +00:00
tcpstr4.pp merge r13482 from cpstrnew branch by florian: 2011-09-17 10:40:45 +00:00
tcpstr5.pp merge r14129 from cpstrnew by paul (defcmp.pas is not merged because trunk already has this fix): 2011-09-17 11:32:44 +00:00
tcpstr6.pp compiler: 2011-09-19 04:11:57 +00:00
tcpstr7.pp merge r14141 from cpstrnew branch by paul: 2011-09-17 11:52:05 +00:00
tcpstr8.pp compiler: 2011-09-19 04:11:57 +00:00
tcpstr9.pp compiler: 2011-09-21 01:23:42 +00:00
tcpstr10.pp compiler: 2011-09-19 01:04:56 +00:00
tcpstr11.pp compiler + rtl: pass codepage to fpc_CharArray_To_AnsiStr to get the preserve the codepage of result string 2011-09-26 04:49:09 +00:00
tcpstr12.pp compiler: 2011-09-28 01:18:43 +00:00
tcpstr13.pp compiler: don't return te_eual when we convert from RawByteString to another codepage 2011-09-29 12:03:11 +00:00
tcpstr14.pp compiler, rtl: pass codepage argument to all ansistring str() helpers to return result with correct codepage 2011-09-30 03:26:34 +00:00
tcpstr15.pp rtl: eat $ffff encoding in more routines, fix Insert() procedure to preserve destination string codepage 2011-09-30 06:10:24 +00:00
tcpstr16.pp compiler: convert string constants from and to codepage 0. use compiler codepage during the conversion + test 2011-10-12 06:10:36 +00:00
tcpstr17.pp tests: fix test for unixes 2011-10-19 06:42:51 +00:00
tcpstr18.pp compiler: 2011-10-20 09:25:51 +00:00
tcpstr19.pp compiler: 2012-02-09 08:22:38 +00:00
tcpstr20.pp tests: fix test for systems where widestring=unicodestring 2012-02-16 00:57:46 +00:00
tcpstr21.pp tests: add test to check overload precedence for AnsiString type passed to other string types 2012-05-02 02:52:10 +00:00
tcpstr21a.pp tests: mark test as should fail 2012-05-03 06:47:42 +00:00
tcpstr22.pp tests: use known to compiler codepage since it crashes in other case 2012-05-03 07:03:19 +00:00
tcpstr23.pp tests: use known to compiler codepage since it crashes in other case 2012-05-03 07:03:19 +00:00
tcpstransistr2shortstring.pp tests: apply Inoussa patches to fix errors in his tests 2011-10-12 00:53:14 +00:00
tcpstransistr2widechararray.pp tests: apply Inoussa patches to fix errors in his tests 2011-10-12 00:53:14 +00:00
tcpstransistrcompare.pp compiler: 2011-09-19 04:11:57 +00:00
tcpstransistrcompareequal.pp compiler: 2011-09-19 04:11:57 +00:00
tcpstransistrcopy.pp tests: apply Inoussa patches to fix errors in his tests 2011-10-12 00:53:14 +00:00
tcpstrassignansistr.pp compiler: 2011-09-19 04:11:57 +00:00
tcpstrchar2ansistr.pp tests: remove UTF8 bom from 2 test units which does not expect to get UTF8 encoded strings 2011-10-13 12:14:20 +00:00
tcpstrconcat2.pp compiler: 2011-09-19 04:11:57 +00:00
tcpstrconcat3.pp compiler: 2011-09-19 04:11:57 +00:00
tcpstrconcat.pp compiler: 2011-09-19 04:11:57 +00:00
tcpstrconcatmulti2.pp compiler: 2011-09-19 04:11:57 +00:00
tcpstrconcatmulti.pp compiler: 2011-09-19 04:11:57 +00:00
tcpstrpchar2ansistr.pp tests: remove UTF8 bom from 2 test units which does not expect to get UTF8 encoded strings 2011-10-13 12:14:20 +00:00
tcpstrsetlength2.pp compiler: 2011-09-19 04:11:57 +00:00
tcpstrsetlength.pp compiler: 2011-09-19 04:11:57 +00:00
tcpstrshortstr2ansistr.pp * fixed syntax error 2011-09-23 21:48:55 +00:00
tcptypedconst2.pp merge r17435 from cpstrnew branch by michael: 2011-09-17 13:22:16 +00:00
tcptypedconst3.pp merge r17435 from cpstrnew branch by michael: 2011-09-17 13:22:16 +00:00
tcptypedconst.pp compiler: 2011-09-19 04:11:57 +00:00
tcstring1.pp
tcstring2.pp
tdefault1.pp Add support for Default() intrinsic. For now this is only (fully) supported 2012-03-25 16:02:27 +00:00
tdefault2.pp Add support for Default() intrinsic. For now this is only (fully) supported 2012-03-25 16:02:27 +00:00
tdefault3.pp Add support for Default() intrinsic. For now this is only (fully) supported 2012-03-25 16:02:27 +00:00
tdefault4.pp Add support for Default() intrinsic. For now this is only (fully) supported 2012-03-25 16:02:27 +00:00
tdefault5.pp Add support for Default() intrinsic. For now this is only (fully) supported 2012-03-25 16:02:27 +00:00
tdefault6.pp Add support for Default() intrinsic. For now this is only (fully) supported 2012-03-25 16:02:27 +00:00
tdefault7.pp Add support for Default() intrinsic. For now this is only (fully) supported 2012-03-25 16:02:27 +00:00
tdefault8.pp Add support for Default() intrinsic. For now this is only (fully) supported 2012-03-25 16:02:27 +00:00
tdefault9.pp Add support for Default() intrinsic. For now this is only (fully) supported 2012-03-25 16:02:27 +00:00
tdefault10.pp Add support for Default() intrinsic. For now this is only (fully) supported 2012-03-25 16:02:27 +00:00
tdefault11.pp Add support for Default() intrinsic. For now this is only (fully) supported 2012-03-25 16:02:27 +00:00
tdefault12.pp Add support for Default() intrinsic. For now this is only (fully) supported 2012-03-25 16:02:27 +00:00
tdefault13.pp Add support for Default() intrinsic. For now this is only (fully) supported 2012-03-25 16:02:27 +00:00
tdefault14.pp Add support for Default() intrinsic. For now this is only (fully) supported 2012-03-25 16:02:27 +00:00
tdefault15.pp * allow default() on Objective-C classes and protocols: the compiler already 2012-05-22 11:07:05 +00:00
tdel1.pp
tdel2.pp
tdispinterface1a.pp
tdispinterface1b.pp
tdispinterface2.pp
tdotunits1.pp tests: add tests for "dot units"/namespaces feature (compiler changes will be committed later) 2011-08-26 15:34:57 +00:00
tdotunits2.pp tests: add tests for "dot units"/namespaces feature (compiler changes will be committed later) 2011-08-26 15:34:57 +00:00
tdotunits3.pp tests: add tests for "dot units"/namespaces feature (compiler changes will be committed later) 2011-08-26 15:34:57 +00:00
tdotunits4.pp tests: add tests for "dot units"/namespaces feature (compiler changes will be committed later) 2011-08-26 15:34:57 +00:00
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 compiler: allow use of default properties for records (issue #0019098) 2011-04-18 03:15:58 +00:00
terecs11.pp compiler: don't allow local or anonymous records to have types (the second part of issue #0019099) 2011-04-18 06:10:56 +00:00
terecs12.pp compiler: don't allow local or anonymous records to have types (the second part of issue #0019099) 2011-04-18 06:10:56 +00:00
terecs13.pp compiler: don't allow local or anonymous records to have types (the second part of issue #0019099) 2011-04-18 06:10:56 +00:00
terecs14.pp * pdecsub.pas, parse_proc_dec: always parse operator overload heads as block type bt_body so that operators like ">", "=>" or "<>" are resolved to the correct tokens ("<>" would be a sequence of "_LSHARPBRACKET _RSHARPBRACKET" instead of _NE otherwise). Fixes Mantis #21127 2012-05-09 12:32:34 +00:00
terecs_u1.pp
testcmem.pp
testda1.pp
testfpuc.pp * enabled a bunch of tests also for aix 2012-04-11 18:04:57 +00:00
testlderror.pp * Removed executable flag from source files. 2011-12-19 17:40:02 +00:00
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
texception5.pp
texception6.pp
texception7.pp
texception8.pp
texception9.pp
texception10.pp * adapted tests for aix (assembler code, -CN switch, library name suffix) 2012-04-11 18:06:43 +00:00
textthr.pp * enabled a bunch of tests also for aix 2012-04-11 18:04:57 +00:00
tfillchr.pp
tfinal1.pp
tfinal2.pp
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
tfpu1.pp
tfpu2.pp
tfpu3.pp
tfpu4.pp
tfpu5.pp
tfpuover.pp
tfwork1.pp
tfwork2.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 This test does not need to be run 2011-05-23 19:13:51 +00:00
tgeneric30.pp
tgeneric31.pp
tgeneric32.pp
tgeneric33.pp
tgeneric34.pp
tgeneric35.pp
tgeneric36.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric37.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric38.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric39.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric40.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric41.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric42.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric43.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric44.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric45.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric46.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric47.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric48.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric49.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric50.pp Extend the test with a usage of "TTestInteger" and correct the comments a bit. 2011-10-09 16:14:33 +00:00
tgeneric51.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric52.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric53.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric54.pp Added some tests for: 2011-05-23 19:47:09 +00:00
tgeneric55.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
tgeneric56.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
tgeneric57.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
tgeneric58.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
tgeneric59.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
tgeneric60.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
tgeneric61.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
tgeneric62.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
tgeneric63.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
tgeneric64.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
tgeneric65.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
tgeneric66.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
tgeneric67.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
tgeneric68.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
tgeneric69.pp * compiler\pdecl.pas: 2012-01-02 16:02:51 +00:00
tgeneric70.pp * compiler\pdecl.pas: 2012-01-02 16:02:51 +00:00
tgeneric71.pp * compiler\pdecl.pas: 2012-01-02 16:02:51 +00:00
tgeneric72.pp * pgenutil.pas, generate_specialization: 2012-01-22 13:29:12 +00:00
tgeneric73.pp * pdecobj.pas, object_dec: 2012-01-28 18:09:40 +00:00
tgeneric74.pp * pgenutil.pas, generate_specialization & psub.pas, specialize_objectdefs: 2012-02-04 11:33:17 +00:00
tgeneric75.pp * pgenutil.pas, generate_specialization & psub.pas, specialize_objectdefs: 2012-02-04 11:33:17 +00:00
tgeneric76.pp Fix for Mantis #21350 2012-06-14 07:07:28 +00:00
tgeneric77.pp Fix for Mantis #21350 2012-06-14 07:07:28 +00:00
tgeneric78.pp Fix for Mantis #21064. 2012-06-20 08:35:57 +00:00
tgeneric79.pp Fix for Mantis #21064. 2012-06-20 08:35:57 +00:00
tgoto.pp
theap.pp
theapthread.pp * reduced complexity/running time of the test 2012-06-06 18:17:36 +00:00
thintdir1.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 * merges recent class helper fixes by Sven Barth 2011-06-30 18:54:46 +00:00
timplements1.pp
timplements2.pp
timplements3.pp
timplements4.pp
timplements4a.pp
timplements4b.pp
timplements7.pp
timplprog.pp
tindex.pp * Did a clean rewrite of IndexByte and IndexWord, resulting in somewhat less instructions. 2011-04-14 17:12:04 +00:00
tinivar.pp
tinlin64.pp
tinline1.pp
tinline2.pp
tinline3.pp
tinline4.pp
tinline5.pp
tinline6.pp
tinline7.pp
tinline8.pp
tinline9.pp
tinline10.pp
tint2str1.pp
tint2str2.pp
tint641.pp Avoid random values and range/overflow checks 2012-03-23 15:15:21 +00:00
tint642.pp
tint643.pp
tint644.pp
tinterface1.pp
tinterface2.pp
tinterface3.pp
tinterface4.pp
tinterface5.pp
tinterface6.pp
tinterrupt.pp
tintfcdecl1.pp
tintfcdecl2.pp
tintfdef.pp
tintuint.pp
tisogoto1.pp
tisogoto2.pp
tisogoto3.pp
tisogoto4.pp
tisogoto5.pp + implement auto inlining (-Ooautoinline) 2012-05-19 13:30:02 +00:00
tlib1a.pp Use new target specific option to avoid disabling of debug information generation for windows DLL 2012-03-27 14:27:17 +00:00
tlib1b.pp * adapted so it also succeeds with the lnfogdb unit (gdb reports slightly 2012-04-11 18:06:48 +00:00
tlib2a.pp * When relocating local symbols on x86_64, put symbol address into addend field of the relocation, resolves #13671. 2011-05-25 16:18:04 +00:00
tlib2b.pp * When relocating local symbols on x86_64, put symbol address into addend field of the relocation, resolves #13671. 2011-05-25 16:18:04 +00:00
tlibrary1.pp
tlibrary2.pp
tlibrary3.pp
tmacbool.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
tmacnonlocalexit.pp
tmacnonlocalgoto.pp
tmacpas1.pp
tmacpas2.pp
tmacpas3.pp
tmacpas4.pp
tmacpas5.pp
tmacprocvar.pp
tmainnam.pp
tmath1.pp
tmcbool2.pp
tmmx1.pp
tmove.pp
tmsg1.pp
tmsg2.pp
tmsg3.pp
tmsg4.pp
tmt1.pp * count the number of successfully started threads, and quit as soon as 2012-01-07 23:08:45 +00:00
tnoext1.pp
tnoext2.pp
tnoext3.pp
tnoext4.pp
tnonlocalgoto1.pp
tnonlocalgoto2.pp
tnonlocalgoto3.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 Add missing target cpu rtestriction for Objective C test tobjc38.pp 2012-01-30 15:44:37 +00:00
tobjc39.pp * only for darwin 2012-02-26 12:50:48 +00:00
tobjcl1.pp
tobjcl2.pp
tobjcl3.pp
tobjcl4.pp
tobject1.pp
tobject2.pp
tobject3.pp
tobject4.pp
tobject5.pp
tobject6.pp
tobject7.pp
tobject8.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
tover1.pp
tover2.pp
tover3.pp
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 * enabled a bunch of tests also for aix 2012-04-11 18:04:57 +00:00
tprec1.pp
tprec2.pp
tprec3.pp
tprec4.pp
tprec5.pp
tprec6.pp * Explicitly disable range/overlfow checks when test is not about this 2012-03-23 16:35:04 +00:00
tprec7.pp
tprec8.pp
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
tprocext.pp
tprocvar1.pp
tprocvar2.pp
tprocvar3.pp
tprop1.pp
tprop2.pp
tprop.pp
trange1.pp
trange2.pp
trange3.pp
trange4.pp
trange5.pp
trangeob.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 * merges recent class helper fixes by Sven Barth 2011-06-30 18:54:46 +00:00
trhlp43.pp tests: fix record helper test 2011-09-13 00:20:24 +00:00
trox1.pp * Explicitly disable range/overlfow checks when test is not about this 2012-03-23 16:35:04 +00:00
trox2.pp * Explicitly disable range/overlfow checks when test is not about this 2012-03-23 16:35:04 +00:00
trox3.pp * Explicitly disable range/overlfow checks when test is not about this 2012-03-23 16:35:04 +00:00
trox4.pp * Explicitly disable range/overlfow checks when test is not about this 2012-03-23 16:35:04 +00:00
trox5.pp + forgotten test for r17808 2011-06-23 21:03:17 +00:00
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
tsafecall1.pp * Enabled safecall on x86_64-linux 2011-06-02 10:43:18 +00:00
tsafecall2.pp * Enabled safecall on x86_64-linux 2011-06-02 10:43:18 +00:00
tsafecall3.pp * Enabled safecall on x86_64-linux 2011-06-02 10:43:18 +00:00
tsafecall4.pp * Enabled safecall on x86_64-linux 2011-06-02 10:43:18 +00:00
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 * make use of mulps/mulpd and haddps/haddpd/hsubpd/hsubps to optimze x*x+y*y and x*x-y*y where x and y might be single or double 2011-08-20 12:34:37 +00:00
tstack.pp
tstatic1.pp
tstatic2.pp
tstatic3.pp
tstatic4.pp
tstatic5.pp
tstdhandle.pp * Reverted STD_xxx_HANDLE constants back to DWORD type (issue introduced in r15824). These are not handles, and are 32-bit even in Win64. See http://msdn.microsoft.com/en-us/library/ms683231.aspx 2011-04-17 22:27:56 +00:00
tstprocv.pp
tstring1.pp
tstring2.pp
tstring3.pp
tstring4.pp
tstring5.pp
tstring6.pp
tstring7.pp
tstring8.pp
tstring9.pp
tstring10.pp
tstrreal1.pp
tstrreal2.pp
tstrreal3.pp
tstrreal4.pp
tstrreal5.pp
tstrutils1.pp * cwstring is unix only 2011-09-18 20:41:37 +00:00
tstrutils2.pp tests: modified test to be more informative 2012-04-18 09:19:38 +00:00
tsubdecl.pp
tsymlibrary1.pp
ttpara1.pp
ttpara2.pp
ttypeconvtypes.pp compiler: allow type conversions for ordinal types inside type declarations e.g inside enumerations like: Byte(0)..Byte(15) 2011-10-03 01:27:21 +00:00
ttypedarray1.pp
ttypedrecord1.pp
ttypedrecord2.pp
ttypedrecord3.pp
ttypedrecord4.pp
tunaligned1.pp
tunistr1.pp
tunistr2.pp
tunistr4.pp
tunistr5.pp
tunistr6.pp tests: 2011-11-01 02:37:54 +00:00
tunistr7.pp
tunistrcopy.pp merge r17438 from cpstrnew branch by michael: 2011-09-17 13:27:26 +00:00
tunit1.pp
tunit2.pp
tunit3.pp
tunroll1.pp
tutf81.pp
tutf82.pp
tvarpropsetter1.pp
tvarpropsetter2.pp
tvarset1.pp
twarn1.pp * Check that two $WARN are OK 2011-06-29 14:31:10 +00:00
tweaklib1.pp * fixed location of "end." in case "supported" is not defined 2012-04-11 18:06:53 +00:00
tweaklib2.pp - disabled for AIX, doesn't support weak external symbols 2012-04-11 18:04:45 +00:00
tweaklib3.pp
tweaklib4.pp
twide1.pp
twide2.pp
twide3.pp
twide4.pp
twide5.pp
twide6.pp tests: 2011-11-01 02:37:54 +00:00
twide7.pp
twrstr1.pp
twrstr2.pp
twrstr3.pp
twrstr4.pp
twrstr5.pp
twrstr6.pp
twrstr7.pp
twrstr8.pp
uabstrcl.pp
uchlp12.pp
uchlp18.pp
udots.dot.next.pp tests: add tests for "dot units"/namespaces feature (compiler changes will be committed later) 2011-08-26 15:34:57 +00:00
udots.dot.pp tests: add tests for "dot units"/namespaces feature (compiler changes will be committed later) 2011-08-26 15:34:57 +00:00
udots.dot.prog.pp tests: add tests for "dot units"/namespaces feature (compiler changes will be committed later) 2011-08-26 15:34:57 +00:00
udots.pp tests: add tests for "dot units"/namespaces feature (compiler changes will be committed later) 2011-08-26 15:34:57 +00:00
udots.prog.pp tests: add tests for "dot units"/namespaces feature (compiler changes will be committed later) 2011-08-26 15:34:57 +00:00
udots.test.pp tests: add tests for "dot units"/namespaces feature (compiler changes will be committed later) 2011-08-26 15:34:57 +00:00
uenum2a.pp
uenum2b.pp
ugeneric3.pp
ugeneric4.pp
ugeneric7.pp
ugeneric10.pp
ugeneric14.pp
ugeneric59a.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
ugeneric59b.pp Added a few more tests. All except tgeneric65.pp (object inside generic record) and tgeneric68.pp (object inside generic object) are successfully compiled. 2011-12-02 14:28:23 +00:00
ugeneric74a.pp * pgenutil.pas, generate_specialization & psub.pas, specialize_objectdefs: 2012-02-04 11:33:17 +00:00
ugeneric74b.pp * pgenutil.pas, generate_specialization & psub.pas, specialize_objectdefs: 2012-02-04 11:33:17 +00:00
ugeneric75.pp * pgenutil.pas, generate_specialization & psub.pas, specialize_objectdefs: 2012-02-04 11:33:17 +00:00
ugeneric.test75.pp * pgenutil.pas, generate_specialization & psub.pas, specialize_objectdefs: 2012-02-04 11:33:17 +00:00
uhintdir.pp
uhlp3.pp
uhlp31.pp
uhlp39.pp
uhlp41a.pp
uhlp41b.pp
uhlp43.pp
uimpluni1.pp
uimpluni2.pp
uinline4a.pp
uinline4b.pp
ulib2a.pp * Reverted r17556 and replaced it with more generic handling of 'rela'-styled relocations. Resolves #19416. 2011-05-27 18:19:08 +00:00
umaclocalprocparam3f.pp
umacpas1.pp
umainnam.pp
uobjc7.pp
uobjc24.pp
uobjc26.pp
uobjc27a.pp
uobjc27b.pp
uobjc30c.pp
uobjc35d.pp
uobjc35e.pp
uobjc35f.pp
uobjc35g.pp
uobjc39.pp * fixed finding the real definition for formal Objective-C protocols 2012-02-25 11:52:35 +00:00
uobjcl1.pp
uprec6.pp
uprec7.pp
uprocext1.pp
uprocext2.pp
urhlp14.pp
urhlp17.pp
utasout.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)