Commit Graph

6546 Commits

Author SHA1 Message Date
florian
5604e98b1c + lazarus project files for the avx assembler test generators
git-svn-id: trunk@39873 -
2018-10-07 10:10:16 +00:00
yury
ff3d7862d6 * Erase the temp file.
git-svn-id: trunk@39868 -
2018-10-06 15:10:24 +00:00
yury
ddb4e37104 * Define slowcpu for android.
git-svn-id: trunk@39867 -
2018-10-06 13:58:05 +00:00
yury
46b89f0ef9 * Modified test to not create sub-dirs outside the test's directory.
git-svn-id: trunk@39864 -
2018-10-06 10:03:36 +00:00
yury
8c59eb1ce5 * Regenerated makefiles to support aarch64-android.
git-svn-id: trunk@39863 -
2018-10-06 09:36:03 +00:00
Tomas Hajny
e147f6fb48 * additional tests added similarly to tfexpand.pp to test modified behaviour discussed in bug #34166
git-svn-id: trunk@39848 -
2018-09-30 20:49:24 +00:00
Tomas Hajny
62b57e81cd * FExpand / ExpandFileName behaviour updated according to discussion in bug #34166
git-svn-id: trunk@39840 -
2018-09-28 22:57:57 +00:00
florian
352fb866ef * is_range_test returns false if "lower" bound is greater than "upper" bound
git-svn-id: trunk@39837 -
2018-09-27 20:24:52 +00:00
pierre
d32494c3db Update all tests Makefile's
git-svn-id: trunk@39829 -
2018-09-27 07:09:38 +00:00
florian
a34d4e715c Merged riscv_new branch
git-svn-id: trunk@39813 -
2018-09-26 19:49:08 +00:00
svenbarth
bf91991bae * fix for Mantis #34332: allow 2 parameter form of Copy also for ShortString variables
+ added test

git-svn-id: trunk@39802 -
2018-09-25 19:10:06 +00:00
svenbarth
9a99ab9dda * fix for Mantis #34287: correctly handle "inherited method" calls if "method" is a generic (no matter if it's mode Delphi or not)
+ added test

git-svn-id: trunk@39787 -
2018-09-21 15:16:18 +00:00
svenbarth
06267006f3 * explicitely handle the boolean types to determine the bit size as all of them have the bit size 1
+ added test

git-svn-id: trunk@39786 -
2018-09-21 13:24:49 +00:00
tg74
f0b6b6782b bugfix avx512 tests opcodes kmov...
git-svn-id: branches/tg74/avx512@39782 -
2018-09-21 05:24:59 +00:00
tg74
3dc25d8bee bugfix avx512 broadcast for special opcodes vcvt... tests
git-svn-id: branches/tg74/avx512@39780 -
2018-09-19 21:30:43 +00:00
tg74
8a7cee6294 avx512 broadcast tests
git-svn-id: branches/tg74/avx512@39777 -
2018-09-19 15:27:06 +00:00
tg74
6cb9474309 minor bugfixes avx512 tests
git-svn-id: branches/tg74/avx512@39767 -
2018-09-19 06:24:36 +00:00
Jeppe Johansen
74a7963d58 Redo overflow checking code.
Fix shift operators in case of unsigned subreg operations. There should be no sign extension here.
Add some unittest implementations that test stack execution and writing to readonly constants.

git-svn-id: branches/laksen/riscv_new@39762 -
2018-09-16 18:37:59 +00:00
tg74
b2dca8692f remove any gather/scatter opcodes tests
git-svn-id: branches/tg74/avx512@39746 -
2018-09-12 14:00:35 +00:00
tg74
608992ecf5 minor bugfixes avx512 tests
git-svn-id: branches/tg74/avx512@39740 -
2018-09-12 05:03:05 +00:00
tg74
c894768a65 bugfix avx512 tests
git-svn-id: branches/tg74/avx512@39738 -
2018-09-11 15:22:11 +00:00
pierre
afc25c8838 sparc64-linux objects recompiled with GCC 7.3.0
git-svn-id: trunk@39733 -
2018-09-11 08:16:56 +00:00
tg74
637d44fd7c delete typecast for broadcast-operands
git-svn-id: branches/tg74/avx512@39730 -
2018-09-11 05:06:35 +00:00
tg74
9d17d3054e use typecast for mememory-operands (any opcodes vcvt...)
git-svn-id: branches/tg74/avx512@39729 -
2018-09-11 04:28:29 +00:00
pierre
382ac9c00a Add branches for 3.2.0, 3.2.1 and 3.3.1 versions
git-svn-id: trunk@39725 -
2018-09-10 13:28:33 +00:00
tg74
5224393bbb testfilenames lowercase
git-svn-id: branches/tg74/avx512@39723 -
2018-09-10 08:14:22 +00:00
tg74
38ab34978b new avx512 tests
git-svn-id: branches/tg74/avx512@39722 -
2018-09-10 07:58:47 +00:00
tg74
53e4b5451c new avx512 tests
git-svn-id: branches/tg74/avx512@39721 -
2018-09-10 07:47:25 +00:00
Jeppe Johansen
fb0ef295f1 Fixed unittests that needed arch specific inline assembler.
git-svn-id: branches/laksen/riscv_new@39716 -
2018-09-09 09:18:58 +00:00
svenbarth
00663728b5 * fix for Mantis #34239: the parent VMT is an indirect reference due to the changes for dynamic packages for quite some time already, so handle that accordingly
+ added test

git-svn-id: trunk@39715 -
2018-09-08 14:56:09 +00:00
svenbarth
c337575f69 * fix test 26481: it tests for something different than the incorrect type parameters and in fact the need to fix this highlights the need for the previous changes
git-svn-id: trunk@39704 -
2018-09-02 16:20:32 +00:00
svenbarth
46ef16ac11 * generate an error if the type parameters of a generic routine's definition does not match with its interface or forward declaration
+ added tests

git-svn-id: trunk@39703 -
2018-09-02 16:20:29 +00:00
svenbarth
50323043c1 * generate an error if the type parameters of the record, object or class do not match with its declaration
+ added test

git-svn-id: trunk@39702 -
2018-09-02 16:20:25 +00:00
svenbarth
072699d38a * protect the destructors of tabstractrecordsymtable and twithsymtable against executing when called with a refcount > 1 (this fixes Mantis #34210)
+ added simplified test

git-svn-id: trunk@39693 -
2018-08-31 19:16:45 +00:00
svenbarth
10886d8cef * fix for Mantis #34206: when specializing nested routines of a generic routine we don't need access to their genericdef (which isn't available anyway in other units when loading from PPU) as their definition is completely contained in the token stream
+ added simplified test for the problem

git-svn-id: trunk@39692 -
2018-08-31 16:11:05 +00:00
tg74
3bbb8ffc63 avxtestgenerator new testdata (vextract..)
git-svn-id: branches/tg74/avx512@39679 -
2018-08-28 15:12:44 +00:00
florian
6b9f52b4f2 + couple of { %OPT=-CE } to tests added
git-svn-id: branches/laksen/riscv_new@39641 -
2018-08-19 12:42:26 +00:00
tg74
f14edb4d2e new tests for avx512 instructions
git-svn-id: branches/tg74/avx512@39640 -
2018-08-19 11:06:20 +00:00
marco
98f00acb06 * trunk to 3.3.1
git-svn-id: trunk@39635 -
2018-08-18 15:47:44 +00:00
florian
9e9c2c02ed * test fails now if it causes an exception
git-svn-id: trunk@39624 -
2018-08-17 19:49:40 +00:00
florian
a825a66d01 * IntPower inverts the base first for negative exponents and multiplies then, resolves #34124
git-svn-id: trunk@39621 -
2018-08-16 20:45:35 +00:00
svenbarth
38ffcff3aa * fix program name of the test
git-svn-id: trunk@39606 -
2018-08-12 07:21:58 +00:00
svenbarth
32c307e9ce * fix for Mantis #34021: if one of the two operators is an array constructor try to use an operator overload for that first before converting it to a set
+ added tests

git-svn-id: trunk@39554 -
2018-08-03 15:24:59 +00:00
florian
14bfcbb0da * compiled the calling convention test files by riscv64-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
with -O3

git-svn-id: branches/laksen/riscv_new@39508 -
2018-07-24 21:11:52 +00:00
florian
269069f5db * empty dummy object files
git-svn-id: branches/laksen/riscv_new@39488 -
2018-07-22 18:43:07 +00:00
Jeppe Johansen
dcb0f4fdb5 Fixed setjmp that overwrote a callee save register.
Disable relaxation for the gp load part of the prt0 code.
Fixed up some syscall definitions.

git-svn-id: branches/laksen/riscv_new@39478 -
2018-07-20 15:00:14 +00:00
florian
6a150cdd75 * disable optimizations for proper warning
git-svn-id: trunk@39448 -
2018-07-13 21:00:34 +00:00
florian
93c5eae528 * accept dereferences in generics definitions, resolves #33700 properly
git-svn-id: trunk@39447 -
2018-07-13 21:00:33 +00:00
florian
0c6cf12fbf + support for the directive $EXCESSPRECISION
git-svn-id: trunk@39443 -
2018-07-12 21:39:50 +00:00
florian
96e92527e9 * constant folding of not must check if the deftype is really an orddef, resolves #33696
git-svn-id: trunk@39406 -
2018-07-07 14:17:41 +00:00
svenbarth
8df686ed2e * Mantis #33898 is fixed by the fix for String type helpers as well
git-svn-id: trunk@39401 -
2018-07-06 15:57:23 +00:00
svenbarth
ec374c196e * Mantis #33840 is fixed by the fix for String type helpers
git-svn-id: trunk@39400 -
2018-07-06 15:57:17 +00:00
svenbarth
441fc2fab6 * also parse postfix operators after parsing a _STRING token (required for class functions on type helpers for String)
+ added tests

git-svn-id: trunk@39399 -
2018-07-06 15:57:11 +00:00
svenbarth
664724fb82 + add static functions to check for the correct string helper
git-svn-id: trunk@39398 -
2018-07-06 15:57:03 +00:00
pierre
841a166847 Add explicit {$hugecode off} for tests that need it
git-svn-id: trunk@39391 -
2018-07-05 20:58:13 +00:00
pierre
f36ac3adbd Use GetProcessId number for UniqueSuffix if -L is used without parameter
git-svn-id: trunk@39390 -
2018-07-05 11:11:15 +00:00
florian
b70fc52874 * patch by Ondrej Pokorny: the stored property modifier does not delete the inherited default value anymore, resolves #33564
git-svn-id: trunk@39357 -
2018-07-01 20:11:13 +00:00
florian
eb61923762 * patch by Ondrej Pokorny: The nodefault is now inherited from parent class, resolves #33563
git-svn-id: trunk@39356 -
2018-07-01 19:01:41 +00:00
svenbarth
05ac42766d * fix test; it of course still fails, but now it fails with the expected warning instead of an error
git-svn-id: trunk@39351 -
2018-06-30 15:43:18 +00:00
florian
9af9658fa7 * first parameter of SetLength must be valid, as it is read
git-svn-id: trunk@39347 -
2018-06-30 11:25:43 +00:00
nickysn
e813a11e85 + support TP7-compatible @proc^ (as in FillChar(@proc^,...))
git-svn-id: trunk@39343 -
2018-06-29 14:16:35 +00:00
svenbarth
a2b58b842b + add support for threadvars in records
+ added tests

git-svn-id: trunk@39289 -
2018-06-23 13:49:16 +00:00
svenbarth
c3ca96279a + add support for threadvars inside classes
+ added tests

git-svn-id: trunk@39288 -
2018-06-23 13:49:12 +00:00
svenbarth
ff407c56d9 * extend scanning of $modeswitch to support not only + and -, but also ON and OFF like other switches
+ added tests

git-svn-id: trunk@39280 -
2018-06-22 21:29:08 +00:00
pierre
ddf0aab494 Explicitly disabled overflow and range check
git-svn-id: trunk@39267 -
2018-06-21 04:56:32 +00:00
pierre
e518bd52ba Explicitly disabled overflow and range check for these two tests
git-svn-id: trunk@39266 -
2018-06-21 04:52:37 +00:00
svenbarth
1c9ea4c120 * enable modeswitch arrayoperators for the tests
git-svn-id: trunk@39263 -
2018-06-20 19:54:09 +00:00
florian
400861a907 * fixed TBits.NotBits, it is just an Xor operation, resolves #33706
git-svn-id: trunk@39243 -
2018-06-19 20:38:15 +00:00
svenbarth
c495f10b29 + added tests for Mantis #33839 which is now fixed with the recent changes
git-svn-id: trunk@39234 -
2018-06-15 13:49:33 +00:00
svenbarth
be0d51d64c * allow $MinEnumSize, $PackSet and $PackRecords to be used with $Push and $Pop
+ added tests

git-svn-id: trunk@39215 -
2018-06-12 19:40:45 +00:00
michael
d08f06df22 * Test for bug ID #33795
git-svn-id: trunk@39200 -
2018-06-09 12:28:01 +00:00
pierre
cf8c5d2540 Report if ExitStatus of DosBox process is non-zero
git-svn-id: trunk@39197 -
2018-06-08 08:35:45 +00:00
pierre
be91b22d0f Fix compilation of dbconfig program
git-svn-id: trunk@39181 -
2018-06-05 22:10:20 +00:00
pierre
5f62a2063c Makefile regenerated
git-svn-id: trunk@39180 -
2018-06-05 21:40:32 +00:00
pierre
16963b7186 Add explict dependencies to used units
git-svn-id: trunk@39179 -
2018-06-05 21:39:44 +00:00
pierre
3d7d7a8b19 Change is_new local variable name to count_test, to reflect change in AddTestResult function
git-svn-id: trunk@39178 -
2018-06-05 21:38:50 +00:00
pierre
11c5f1f979 Change is_new parameter name to count_it, set it to true if new TestRes is different from previously in Database
git-svn-id: trunk@39177 -
2018-06-05 21:37:35 +00:00
pierre
b6e22a4757 Use old Copy procedure with 3 parameters
git-svn-id: trunk@39176 -
2018-06-05 21:36:12 +00:00
pierre
da8dc2b841 Correctly handle log files in root directory (from tests from packages directory)
git-svn-id: trunk@39175 -
2018-06-05 20:44:51 +00:00
pierre
7268c86602 Fix for msdos target: Use CodePointer where required
git-svn-id: trunk@39173 -
2018-06-05 11:31:42 +00:00
florian
21d785e41b * do not unroll loops if the counter variable is accessed outside the current scope
git-svn-id: trunk@39163 -
2018-06-03 15:12:48 +00:00
florian
3b3e33d863 + correctly set var state of addr and frame in raise statements, resolves #33818
git-svn-id: trunk@39162 -
2018-06-03 09:31:19 +00:00
nickysn
6ee483279c + added qword/tbyte ptr to tasm27a.pp - these are also supported by delphi
git-svn-id: trunk@39145 -
2018-05-29 16:48:49 +00:00
nickysn
d39699da94 + added dword/qword/tbyte ptr to the tasm27.pp test (these are also supported by TP7)
git-svn-id: trunk@39144 -
2018-05-29 16:46:22 +00:00
nickysn
49b414ffee + support ugly constructs like 'DD BYTE PTR 5' in the x86 intel syntax inline
assembler; these are TP7 and Delphi compatible

git-svn-id: trunk@39143 -
2018-05-29 15:43:08 +00:00
svenbarth
ee2c573deb * adjust test so that it tests all three floating point types
git-svn-id: trunk@39134 -
2018-05-28 15:36:14 +00:00
nickysn
58be30a0fd + added test tasm27a.pp - similar to tasm27.pp, but for i386 and checked against Delphi
git-svn-id: trunk@39133 -
2018-05-28 15:34:46 +00:00
svenbarth
e8153df7b7 * fix compilation
git-svn-id: trunk@39132 -
2018-05-28 15:16:37 +00:00
pierre
64dc9abbc2 Use small value of MAX_DISP also for i8086 CPU
git-svn-id: trunk@39130 -
2018-05-28 09:01:34 +00:00
pierre
48f06bef12 Add C objects linked with $L directive in %FILES to fix dosbox go32v2 tests
git-svn-id: trunk@39129 -
2018-05-28 08:11:42 +00:00
svenbarth
f077c7d950 + add support for Unicode code point constants > $FFFF; they are converted to a surrogate pair so they are in
fact a UnicodeString constant
+ added tests

git-svn-id: trunk@39123 -
2018-05-27 14:06:19 +00:00
pierre
c64455cfd4 Do not assume that size of integer type is 4 (it's 2 for msdos)
git-svn-id: trunk@39122 -
2018-05-26 06:04:57 +00:00
svenbarth
199b5809a3 * optimize "dynarr := dynarr + [elem]" to "Insert(elem, dynarr, High(SizeInt))" and "dynarr := [elem] + dynarr" to "Insert(elem, dynarr, 0)" (we need to do this in the typecheck of taddnode as otherwise the array constructor is already converted)
+ added test
* adjusted test for Mantis #30463 as p1 triggers the optimization as well

git-svn-id: trunk@39119 -
2018-05-25 16:03:56 +00:00
pierre
4efb978858 Fix wrong preprocessor: $undefine is not accepted, must be $undef
git-svn-id: trunk@39116 -
2018-05-25 14:51:13 +00:00
svenbarth
b94a8c93a5 * test (for Mantis #5516; 3531 is the old bug ID) is valid now that we have dynamic array initializers
git-svn-id: trunk@39105 -
2018-05-24 19:56:35 +00:00
florian
8f472d5212 * check for more controll flow statements before doing loop unrolling
git-svn-id: trunk@39083 -
2018-05-21 15:46:02 +00:00
svenbarth
b7cc225149 * revert r39043 and r39045 which disallow static array constants inside dynamic constants for Delphi modes
git-svn-id: trunk@39078 -
2018-05-21 08:13:17 +00:00
svenbarth
dcdb151add * prohibit static array constants inside dynamic array constants for Delphi modes
+ added test

git-svn-id: trunk@39045 -
2018-05-20 11:50:27 +00:00
svenbarth
a29a6abc55 + add support for Delphi's dynamic array constant syntax ("[...]") in Delphi modes
git-svn-id: trunk@39042 -
2018-05-20 11:50:19 +00:00
svenbarth
08dd4e5445 + add support for dynamic array constants
+ added test

git-svn-id: trunk@39041 -
2018-05-20 11:50:16 +00:00
svenbarth
7990b2e3f3 * apply patch from J. Gareth Moreton to implement Int() for SSE (currently only used on Win64)
+ added test

git-svn-id: trunk@38993 -
2018-05-14 21:08:04 +00:00
pierre
8a60f39a14 Disable checking of default code page for cross-compilation configurations
git-svn-id: trunk@38978 -
2018-05-11 16:11:27 +00:00
pierre
f28ab34f06 unicodeducet must appear before fpwidestring to set current_collation at startup
git-svn-id: trunk@38962 -
2018-05-09 23:11:48 +00:00
pierre
8911709f36 Correct copy of files to temp directory and removal of temp directory
git-svn-id: trunk@38960 -
2018-05-09 15:17:40 +00:00
svenbarth
11f673a991 * also allow a ";"-separated list of namespaces for -FN
+ added test

git-svn-id: trunk@38939 -
2018-05-06 21:16:51 +00:00
svenbarth
79aab18b13 + add tests for default namespaces
git-svn-id: trunk@38921 -
2018-05-05 17:21:31 +00:00
svenbarth
abd893cac4 * fix for Mantis #33635: correctly working SSE2 based Frac() implementation by J. Gareth Moreton
+ added test

git-svn-id: trunk@38903 -
2018-05-04 15:44:40 +00:00
svenbarth
cfa373a8cf * fix case of string with ranges as labels
+ add test

git-svn-id: trunk@38860 -
2018-04-27 21:06:33 +00:00
svenbarth
d8dd8d9978 + add test for Mantis #33635 which was fixed by r38856
git-svn-id: trunk@38857 -
2018-04-27 15:23:46 +00:00
nickysn
8a32d7c663 + also support constants like 'dd [5]' in the intel syntax inline asm (for BP7
compatibility)

git-svn-id: trunk@38855 -
2018-04-27 11:21:51 +00:00
nickysn
16e0172021 + partial support for BP7 reference-like inline asm constants
git-svn-id: trunk@38850 -
2018-04-26 14:31:13 +00:00
pierre
ee1a5843aa Avoid program RTE if failing to remove temporary directory
git-svn-id: trunk@38816 -
2018-04-22 22:18:27 +00:00
pierre
dbc0dd81fd Modify the test to reflect the fact the compiler prefers conversion of ansiString to RawByteString over to UTF8String
git-svn-id: trunk@38781 -
2018-04-18 10:21:26 +00:00
pierre
49caa8fcef Disable UNC tests for go32v2 without LFNSupport (like dosbox on Linux)
git-svn-id: trunk@38779 -
2018-04-16 13:16:05 +00:00
michael
e495d73239 * Fix tests conforming to new behaviour wrt empty string
git-svn-id: trunk@38778 -
2018-04-16 09:45:50 +00:00
pierre
5d2a627572 Skip test/packages/webtbs/tw11570.pp for msdos and go32v2 targets
git-svn-id: trunk@38776 -
2018-04-15 21:27:02 +00:00
pierre
9faf12b42d Skip all fcl-sb tests for msdos and go32v2 targets
git-svn-id: trunk@38775 -
2018-04-15 21:24:12 +00:00
pierre
bb2433c591 skipped targets must be separated by ,
git-svn-id: trunk@38774 -
2018-04-15 21:23:29 +00:00
pierre
4a2348a38b skip targets that do not support libraries
git-svn-id: trunk@38772 -
2018-04-14 16:09:50 +00:00
pierre
d4ed6b0416 Restrict test to win32, as it is already i386 specific and uses Windows unit
git-svn-id: trunk@38771 -
2018-04-14 15:45:57 +00:00
pierre
3ce913f959 Remove explicit far modifier to fix msdos compilation and add error_count variable
git-svn-id: trunk@38766 -
2018-04-13 22:20:25 +00:00
pierre
1e1603425d Remove explicit far modifier to fix msdos compilation
git-svn-id: trunk@38765 -
2018-04-13 22:19:34 +00:00
pierre
ab7fb33d67 Restore removed ifdef UNIX around iosxwstr/cwstring unit loading
git-svn-id: trunk@38763 -
2018-04-13 06:22:21 +00:00
pierre
bf7cba67e0 Re-add codepage specifier removed by error
git-svn-id: trunk@38762 -
2018-04-12 22:01:04 +00:00
pierre
30fb24f06a Fix more compilation errors
git-svn-id: trunk@38761 -
2018-04-12 21:54:53 +00:00
pierre
1405110f33 Add cthreads unit for unix targets
git-svn-id: trunk@38760 -
2018-04-12 21:42:02 +00:00
pierre
82624ba4cd Fix errors in last commits that prevent compilation
git-svn-id: trunk@38759 -
2018-04-12 21:26:12 +00:00
pierre
5ae4724a5b Use USE_INTERNAL_UNICODE to be able to test fpwidestrings on different targets
git-svn-id: trunk@38758 -
2018-04-12 20:51:13 +00:00
pierre
52b830a434 Use USE_INTERNAL_UNICODE to be able to test fpwidestrings on different targets
git-svn-id: trunk@38757 -
2018-04-12 20:39:34 +00:00
pierre
95e609cc56 Use USE_INTERNAL_UNICODE to be able to test fpwidestrings on different targets
git-svn-id: trunk@38756 -
2018-04-12 20:36:31 +00:00
nickysn
bbc364b245 * inline asm fix for accessing record variables when using the unitname (e.g.
'mov ax, unitname.varname.fieldname')

git-svn-id: trunk@38755 -
2018-04-12 16:35:21 +00:00
pierre
6060f474ed Regenerated Makefile's after addition of ppas and ppaslink script removal in rev 38745
git-svn-id: trunk@38754 -
2018-04-12 15:42:39 +00:00
pierre
fb683c3adc Add generated filelistDIR.lst to list of files to delete for clean
git-svn-id: trunk@38753 -
2018-04-12 15:40:57 +00:00
pierre
3455c82b88 Always add dosbox/dosbox_wrapper to clean list
git-svn-id: trunk@38752 -
2018-04-12 15:39:57 +00:00
pierre
823bb7bd07 Add units required for wide strings support for go32v2 target
git-svn-id: trunk@38743 -
2018-04-12 14:37:16 +00:00
pierre
bd18d947bd Add .exe suffix to ASrcFileName if ADestFileName ends with .exe or if file is not found
git-svn-id: trunk@38742 -
2018-04-12 13:46:09 +00:00
pierre
2f927d896a Use auto instead of dynamic, as dynamic is not always possible
git-svn-id: trunk@38741 -
2018-04-12 13:44:14 +00:00
pierre
c9f15c906e Add units required for wide strings support for go32v2 target
git-svn-id: trunk@38740 -
2018-04-12 12:53:20 +00:00
pierre
f9069b1ec6 Add units required for wide strings support for go32v2 target
git-svn-id: trunk@38739 -
2018-04-12 12:07:28 +00:00
pierre
e742588f8a Add fpwidestring and unicodeducet in uses clause for go32v2 target
git-svn-id: trunk@38738 -
2018-04-12 10:18:55 +00:00
pierre
1b91d17684 Skip this test for msdos and go32v2
git-svn-id: trunk@38737 -
2018-04-12 10:18:24 +00:00
pierre
e69a7489d9 Add wide string needed units for go32v2 or darwin
git-svn-id: trunk@38736 -
2018-04-12 10:07:16 +00:00
pierre
980df21fee Add fpwidestring and unicodeducet in uses clause for go32v2 target
git-svn-id: trunk@38735 -
2018-04-12 09:58:13 +00:00
Jonas Maebe
dfb0869656 + test that should fail compilation and already fails (mantis #28355)
git-svn-id: trunk@38731 -
2018-04-10 19:34:22 +00:00
Jonas Maebe
1f9d518c57 * support for non-ASCII widechar constants (mantis #31605)
* also improved type checking for converting constant strings to integers
    in MacPas mode

git-svn-id: trunk@38730 -
2018-04-10 19:24:15 +00:00
Jonas Maebe
2eeda5d06f * added test that already works (mantis #33205)
git-svn-id: trunk@38729 -
2018-04-10 18:39:19 +00:00
Jonas Maebe
cb7730a423 * fixed execution order of implicit finalization and class destructors: first
the latter, then the former

git-svn-id: trunk@38716 -
2018-04-08 15:41:00 +00:00
pierre
078ed0ec95 Fix range problems
git-svn-id: trunk@38703 -
2018-04-06 14:41:48 +00:00
pierre
ef36525e4b Add missing 3.0.2 and 3.0.4 releases
git-svn-id: trunk@38700 -
2018-04-06 13:31:38 +00:00
pierre
d9c8d478b2 Restrict test to i8086 cpu
git-svn-id: trunk@38693 -
2018-04-06 07:40:21 +00:00
nickysn
e1d0e7572e * i8086 TP7 compatibility fixes, related to obtaining procedure addresses:
o The @ and Addr() operators in TP or Delphi mode can now be applied to both
    near and far procedures and they always produce a CodePointer, regardless of
    the call model of the procedure.
  o Ofs() and Seg() can now also be applied to both near and far procedures.
  o The @ and Addr() operators in non-TP/Delphi modes, as well as the procedure
    name itself in TP/Delphi modes now can be applied to both near and far
    procedures and produce a near or a far procvar.

git-svn-id: trunk@38691 -
2018-04-05 15:09:12 +00:00
florian
42d6e81c33 * made message about subroutines not being inlined a note instead of a hint, see also #33515
git-svn-id: trunk@38690 -
2018-04-05 09:51:25 +00:00
pierre
5368f1fbe9 Add handling of DelFiles
git-svn-id: trunk@38685 -
2018-04-04 21:27:36 +00:00
pierre
450f62efcc Move GetToken function to testu unit
git-svn-id: trunk@38684 -
2018-04-04 21:27:07 +00:00
pierre
33de492553 * Improve support in temporary directory.
+ CopyNeededFiles to copy additional files to temp directory.
  + TempFileList: New variable.
  * Cleanup: Use TempFileList to delete more file.
  + Add optional -Ssource_file_name directory.

git-svn-id: trunk@38683 -
2018-04-04 21:00:26 +00:00
florian
c46cbc8411 * do not issue a hint of compiler procs are not inlined, resolves #33515
git-svn-id: trunk@38675 -
2018-04-03 21:39:47 +00:00
pierre
b8cfaeda08 Fix compilation failure for Windows targets
git-svn-id: trunk@38666 -
2018-04-03 09:13:19 +00:00
florian
25c5ee2fc3 * patch by J. Gareth Moreton to fix vectorcall (no effect) for linux,
resolves #33184 and #33542

git-svn-id: trunk@38663 -
2018-04-02 21:14:26 +00:00
Jonas Maebe
4da6039f40 * simplify empty-dynamic-string-to-pointer (non-p(wide)char) type conversions
so that they cannot result in "cmp const, const" at the assembler level
    (mantis #33548)

git-svn-id: trunk@38662 -
2018-04-02 18:35:00 +00:00
pierre
a07b191847 Move several path related functions from dotest program to testu unit for use in dosbox_wrapper program
git-svn-id: trunk@38648 -
2018-03-30 07:59:14 +00:00
florian
6c9d7e5c07 - remove ret check to make it more stable
git-svn-id: trunk@38580 -
2018-03-20 21:58:56 +00:00
florian
b55f9fda01 * fix size
git-svn-id: trunk@38556 -
2018-03-17 21:55:48 +00:00
florian
b2825f2467 * scale constants if possible before currency multiplications to avoid overflows, resolves #33439
git-svn-id: trunk@38555 -
2018-03-17 21:33:07 +00:00
florian
aa4af19027 * set localalignmin to 4 on x86_64-win64, there is no reason to leave it at 8 (same as linux)
* adapt tasm23b

git-svn-id: trunk@38554 -
2018-03-17 21:30:49 +00:00
florian
1bc322c218 * allow generic parameters as array range, resolves #33414
git-svn-id: trunk@38532 -
2018-03-15 21:45:23 +00:00
florian
3e7af376fe * fix issue #32539 and #20551 by some ugly hack
git-svn-id: trunk@38531 -
2018-03-15 20:37:50 +00:00
pierre
4cf1ac209a Add %skiptarget=$nothread to tests using threads
git-svn-id: trunk@38528 -
2018-03-15 09:05:26 +00:00
pierre
1287eac54a Update type of mem variable after DoMem change
git-svn-id: trunk@38525 -
2018-03-14 22:02:45 +00:00
pierre
0a986a24e0 Fix compilation failure in erroru unit, change return type to int64, as this is a memory change which can be negative
git-svn-id: trunk@38524 -
2018-03-14 10:55:45 +00:00
pierre
cc22913a4c Modify DoMem parameter type to SizeUInt and adapt tests using this function, to avoid run time errors with range check
git-svn-id: trunk@38521 -
2018-03-13 21:59:58 +00:00
florian
b9417cc51e * missing skiplabel added, resolves #33423
git-svn-id: trunk@38520 -
2018-03-13 18:45:32 +00:00
nickysn
602dd31a45 + added a warning for using cs/ds/es/ss segment overrides in inline assembly on
the x86_64 target

git-svn-id: trunk@38517 -
2018-03-13 14:41:21 +00:00
florian
a66016026b * handle bitpacked booleans more efficiently
git-svn-id: trunk@38509 -
2018-03-12 22:05:34 +00:00
nickysn
8ecc41186d + added an x86_64 version of the tasm23.pp test
git-svn-id: trunk@38505 -
2018-03-12 16:07:39 +00:00
nickysn
79477f04b0 + added test tasm23a.pp - an i386 version of tasm23.pp
git-svn-id: trunk@38504 -
2018-03-12 15:14:03 +00:00
pierre
640f7fbf94 Add test for small records for 1 to 8 bytes in size passing to procedures
git-svn-id: trunk@38503 -
2018-03-11 22:06:29 +00:00
nickysn
5a47ccc585 * updated test tasm23.pp, so that it checks the generated code
git-svn-id: trunk@38476 -
2018-03-09 15:45:41 +00:00
nickysn
9b093ac375 + extended test tasm23 with 'mov ax, word cs:5[localvar]'
git-svn-id: trunk@38474 -
2018-03-09 14:22:23 +00:00
maciej-izak
08c0239d1e Add rtl-generics to tests
git-svn-id: trunk@38463 -
2018-03-09 00:02:19 +00:00
nickysn
68be282507 + support adding an OPR_REFERENCE to a OPR_LOCAL in the x86 intel syntax asm
reader; this fixes stuff like 'mov ax,cs:localvar[5]'

git-svn-id: trunk@38457 -
2018-03-08 14:32:31 +00:00
nickysn
6e79c8ba86 + support adding an OPR_LOCAL to a OPR_REFERENCE in
tx86intreader.AddReferences(); this allows things like mov ax,[cs:[local]] to
  work

git-svn-id: trunk@38444 -
2018-03-07 17:31:25 +00:00
pierre
593794c0fd Add $PIC OFF directive for FPC compilation and change Data field type to int64 to avoid size errors
git-svn-id: trunk@38432 -
2018-03-06 11:08:03 +00:00
pierre
7e98f58c8a Add $PIC OFF directive for FPC compilation
git-svn-id: trunk@38431 -
2018-03-06 11:07:13 +00:00
florian
c230f81719 + support for <dyn. array>+<dyn. array>, resolves #30463
git-svn-id: trunk@38406 -
2018-03-04 16:12:43 +00:00
florian
09e205b7b0 * test is i386 only
git-svn-id: trunk@38396 -
2018-03-02 21:57:44 +00:00
florian
61053ead34 + optimize is operator if used on sealed classes as proposed in #30097
git-svn-id: trunk@38387 -
2018-02-28 22:09:24 +00:00
nickysn
6f8abde786 + support [const+[ref]] in the x86 intel syntax asm reader
git-svn-id: trunk@38383 -
2018-02-28 16:24:45 +00:00
nickysn
8ffde52974 + also support [expr1]+[expr2] for adding references in the x86 intel syntax asm reader
git-svn-id: trunk@38381 -
2018-02-28 15:48:48 +00:00
svenbarth
332b078c22 * small extension of the test for completeness sake
git-svn-id: trunk@38369 -
2018-02-27 21:45:50 +00:00
florian
8c5606b41d + support mmx shifting
git-svn-id: trunk@38367 -
2018-02-27 21:40:12 +00:00
florian
e523865b07 * do not take the size of an open array, resolves #33230
git-svn-id: trunk@38366 -
2018-02-27 21:08:07 +00:00
nickysn
9c814e42c9 + support segment overrides inside references (e.g. [es:bx]) in the x86 intel
syntax inline asm reader

git-svn-id: trunk@38365 -
2018-02-27 17:29:46 +00:00
nickysn
c4f66a2492 * fixed comment in test
git-svn-id: trunk@38356 -
2018-02-26 17:38:42 +00:00
nickysn
45fdd7655d + support concatenation of references in x86 intel syntax inline asm:
[expr1][expr2] = [expr1+expr2]
  [expr1[expr2]] = [expr1+expr2]
  This is compatible with TP7's inline asm, and perhaps also with tasm/masm/delphi.

git-svn-id: trunk@38352 -
2018-02-26 17:17:47 +00:00
florian
72efa1aa50 + test (worked already)
git-svn-id: trunk@38349 -
2018-02-25 20:04:57 +00:00
florian
14cb60e479 * set an owner for open array defs being created in property declarations, resolves #25769
git-svn-id: trunk@38348 -
2018-02-25 17:36:34 +00:00
florian
7d35ced2d9 + support {$message info ...}, resolves #30654
+ test

git-svn-id: trunk@38346 -
2018-02-25 15:50:58 +00:00
florian
70519c0837 * do not use crt by default, reduced wrong fails hopefully
git-svn-id: trunk@38345 -
2018-02-25 15:34:15 +00:00
florian
808131a7d6 + forgotten test
git-svn-id: trunk@38342 -
2018-02-25 15:34:11 +00:00
florian
bf7a0c491e * test works only well if the constants have the same type as the operands of mod
git-svn-id: trunk@38336 -
2018-02-24 23:13:29 +00:00
florian
8a2cf56d51 * fixed operator mod for floats as proposed by wp in #33167, resolves #33167
git-svn-id: trunk@38332 -
2018-02-24 18:23:06 +00:00
florian
73aef1402b + compiler writes a hint if a subroutine marked as inline cannot be/is not inlined, resolves #31717
+ test

git-svn-id: trunk@38330 -
2018-02-24 14:35:12 +00:00
florian
c671683e80 + patch by Denis Kozlov to add date/time tokens: %DATEYEAR%, %DATEMONTH%, %DATEDAY%, %TIMEHOUR%, %TIMEMINUTE%, %TIMESECOND%
+ test

git-svn-id: trunk@38329 -
2018-02-24 12:50:55 +00:00
florian
d031545f88 * warn if the first constant element of a range set expression is greater than the second one, resolves #31936
git-svn-id: trunk@38321 -
2018-02-23 22:30:35 +00:00
florian
048c2c09fd * shorten interface wrapper names if needed, resolves #33069
git-svn-id: trunk@38319 -
2018-02-22 21:55:07 +00:00
florian
1d6e0743aa * fix test
git-svn-id: trunk@38317 -
2018-02-22 20:16:34 +00:00
florian
d0dd3bd74e * patch by Christo Crause to support ~ in att assembler
* allow -128 to 255 as a constant for instructions taking a byte sized constants (this is also what GNU As accepts), resolves #32039

git-svn-id: trunk@38316 -
2018-02-22 20:14:56 +00:00
florian
d16a22e42b * remove type case when loading constant in tattreader.BuildConstantOperand, resolves #33202, should not hurt other targets
git-svn-id: trunk@38307 -
2018-02-21 20:24:10 +00:00
nickysn
506d5fe30e + support bracketless references in the x86 intel syntax; ugly, but TP7 (and
perhaps also Delphi, TASM and MASM)-compatible

git-svn-id: trunk@38296 -
2018-02-20 17:18:09 +00:00
nickysn
8c99f3f70d + added tests tasm21a.pp and tasm21b.pp - same as tasm21.pp, but for i386 and x86_64
git-svn-id: trunk@38294 -
2018-02-20 16:06:29 +00:00
nickysn
cc3da0979e + extended test tasm21.pp, so it actually checks that the instructions it tests
do the right thing

git-svn-id: trunk@38293 -
2018-02-20 04:09:16 +00:00
florian
8731854165 * test code for avr assembler by Christo Crause
* fix size of val field in TOprRec for avr, resolves #32946

git-svn-id: trunk@38291 -
2018-02-19 21:23:28 +00:00
nickysn
6c69e10613 + fix for using the function name (as the function's entry point address,
instead of the function result variable, which is already accessible, using
  the @Result directive) in inline asm

git-svn-id: trunk@38289 -
2018-02-19 18:04:00 +00:00
florian
4cb9ad7e01 * patch (indention adapted) by Christo Crause to check avr inline assembler, resolves also #32261
git-svn-id: trunk@38286 -
2018-02-18 21:58:04 +00:00
florian
ad4ad82908 * prevent crash on not yet supported attribute declarations, resolves #32075
git-svn-id: trunk@38272 -
2018-02-17 19:57:50 +00:00
florian
c3a0a4e252 + support fmrrd/fmdrr, resolves #32398
git-svn-id: trunk@38270 -
2018-02-17 16:32:11 +00:00
florian
4d63945b8d + handle also STATUS_FLOAT_MULTIPLE_FAULTS, resolves #32822
git-svn-id: trunk@38269 -
2018-02-17 16:16:16 +00:00
florian
b421ed0db1 * fixed TranslateMxcsr
+ correctly handle sse exceptions on i386, resolves #32671
+ test

git-svn-id: trunk@38268 -
2018-02-17 15:40:49 +00:00
florian
5eb59196d5 * remove sequential moves to the same register
+ test

git-svn-id: trunk@38267 -
2018-02-17 12:45:17 +00:00
florian
15bdce0a6a * new test
git-svn-id: trunk@38262 -
2018-02-16 21:21:25 +00:00
nickysn
81044b4cff + extended test tasm20.pp with a function, which checks that a shortstring
parameter doesn't get copied to a local variable in a pure asm routine

git-svn-id: trunk@38249 -
2018-02-16 15:27:52 +00:00
nickysn
1a57391e55 + extended test tasm20.pp with a function, that returns a shortstring (in that
particular case, it is allocated a @Result variable)

git-svn-id: trunk@38248 -
2018-02-16 15:02:06 +00:00
nickysn
f1b6be2d74 + only allocate a result variable for asm routines on i8086, if they are
returned in a parameter. This improves TP7 compatibility.

git-svn-id: trunk@38246 -
2018-02-15 17:51:03 +00:00
nickysn
b9e41330d4 + ensure the callee size paraloc info is available, when setting up a local var
or parameter in RAUtils.TOperand.SetupVar(). This fixes a compiler crash, when
  a parent parameter or local var is accessed (in certain ways) inside a nested
  inline asm routine.

git-svn-id: trunk@38236 -
2018-02-14 14:14:34 +00:00
nickysn
6c09394d35 + added test tasm18h.pp: same as tasm18.pp and tasm18g.pp, but for x86_64
git-svn-id: trunk@38232 -
2018-02-12 16:33:59 +00:00
nickysn
1857373c1b + added test tasm18g.pp, which is an i386 version of tasm18.pp
git-svn-id: trunk@38231 -
2018-02-12 16:14:21 +00:00
nickysn
f7ab96bbba * fixed program name in test tasm18f.pp
git-svn-id: trunk@38230 -
2018-02-12 15:46:17 +00:00
nickysn
34c9136283 + added tests, which check that 'test [reg+const*recordtype], 1' and
'test [reg+const*recordtype.recordfield], 1' produce an 'unable to determine
  operand size' error

git-svn-id: trunk@38229 -
2018-02-12 15:44:39 +00:00
nickysn
6fafac65fb + extended test tasm18.pp with instructions with a reference to a longint-sized
recordtype or recordtype.variable, but explicit 'byte ptr' or 'word ptr' type
  override

git-svn-id: trunk@38228 -
2018-02-12 15:34:08 +00:00
nickysn
b2b7d685a6 + extended test tasm18.pp with 32-bit instructions; this doesn't hurt TP7
compatibility, because TP7 produces an error (invalid combination of opcode
  and operands) in case of e.g.
  'test [di+rectype.longintfield], 1'; FPC instead generates:
  'test dword ptr [di+rectype.longintfield], 1' which is 386+, so whether it
  compiles depends on the asmcpu type.

git-svn-id: trunk@38226 -
2018-02-12 14:57:23 +00:00
florian
6400d612e8 + seg(<procvardef>) returns the segment stored in the procedure variable
git-svn-id: trunk@38216 -
2018-02-11 22:26:01 +00:00
florian
96ffb8abc9 + more tests
git-svn-id: trunk@38207 -
2018-02-11 17:50:40 +00:00
florian
31f78ea2b6 + implementation of the vectorcall calling convention by J. Gareth Moreton
+ tests

git-svn-id: trunk@38206 -
2018-02-11 17:50:37 +00:00
florian
e5ebc65cce * if si and di are allocated on i8086, using an index in references is not possible anymore
git-svn-id: trunk@38203 -
2018-02-11 15:54:37 +00:00
nickysn
f5e6b40486 + extended test tasm18.pp with recordtype*constant and
recordtype.recordfield*constant expressions in asm references

git-svn-id: trunk@38201 -
2018-02-11 03:43:31 +00:00
nickysn
a834e6d5c5 + added test tasm18b.pp, which is yet another for 3-byte records, which should
not set a valid operand size in the intel asm syntax mode. The difference
  with tasm18a.pp is, this one tests recordtype.a3bytefield, while tasm18a.pp
  tests a3byterecord directly.

git-svn-id: trunk@38199 -
2018-02-11 01:25:17 +00:00
florian
08ebf36d00 * fix test for i8086
git-svn-id: trunk@38192 -
2018-02-10 22:19:59 +00:00
nickysn
3e63f6bbae + added test tasm18a.pp, which tests that 3-byte records don't set a valid
operand size in the intel asm syntax mode. In other words, this is not valid:
    test [di + a3byterecordtype], 1

git-svn-id: trunk@38190 -
2018-02-10 16:27:48 +00:00
nickysn
d5845a2d2a * updated test tasm18.pp, so it is now runnable and checks the generated code
git-svn-id: trunk@38188 -
2018-02-10 12:34:03 +00:00
nickysn
cbf01fc284 + added test tasm18.pp, which tests instructions with an operand size set
implicitly by a recordtype.recordfield or recordtype constant; test is
  i8086-only and NORUN for now, but will be updated later, to actually test the
  generated code as well (and more tests will be added for i386 and x86_64 as
  well)

git-svn-id: trunk@38177 -
2018-02-09 17:54:47 +00:00
nickysn
391f85f828 + for TP7 compatibility, allow the '&', '$' and '?' characters in the x86 intel
syntax inline asm reader

git-svn-id: trunk@38167 -
2018-02-08 16:54:33 +00:00
nickysn
1709fa61a4 + extended test tasm17.pp with 'dw offset @jumptarget', 'dd @jumptarget' and
'dd offset @jumptarget'

git-svn-id: trunk@38166 -
2018-02-08 16:13:27 +00:00
nickysn
dd04114af9 + extended test tasm17.pp with 'DW @jumptarget'
git-svn-id: trunk@38165 -
2018-02-08 15:46:53 +00:00
nickysn
d65fb1907a + extended test tasm17.pp with 'DW/DD const+offset x'; unfortunately, TP7 also
supports 'DW/DD offset const+x', which we don't and I don't know whether we
  should

git-svn-id: trunk@38164 -
2018-02-08 15:41:03 +00:00
nickysn
b2d71f6f66 * fix test tasm17.pp for the i8086 huge memory model
git-svn-id: trunk@38156 -
2018-02-07 16:35:24 +00:00
nickysn
0c1062bb45 + extended test tasm17 with 'DW/DD xx+constant' and 'DW/DD OFFSET xx+constant'
git-svn-id: trunk@38155 -
2018-02-07 16:33:03 +00:00
nickysn
70cbb8c326 + added test for 'DW/DD OFFSET xx' on i8086
git-svn-id: trunk@38154 -
2018-02-07 16:20:22 +00:00
nickysn
d86e5d006c + added test for seg(x) and ofs(x) initialized typed constants in TP mode as well
+ added directive for using the FPC compiler mode in test tsegofs1.pp

git-svn-id: trunk@38135 -
2018-02-06 13:27:36 +00:00
florian
a29f968b3b * patch by Christo Crause: generate parameter location information in att assembler mode, resolves #32915
* forbid that parameters are subscribed in assembler, if they are references and take more than one register
+ test

git-svn-id: trunk@38125 -
2018-02-05 22:11:00 +00:00
svenbarth
640480272f * adjust TThread.Synchronize so that it also works correctly if the passed in thread instance is not the instance of the current thread
+ added test

git-svn-id: trunk@38124 -
2018-02-05 21:50:00 +00:00