Commit Graph

7639 Commits

Author SHA1 Message Date
Florian Klämpfl
f36a665879 * test for fixed bug to play safe 2022-01-30 22:35:14 +01:00
J. Gareth "Curious Kit" Moreton
9b4033fa80 Fast mod 2022-01-30 08:22:39 +00:00
florian
f21f7f0f50 * handle result type of unsigned ordinal operations in ISO/Extpas mode similiar to TP, solves
#37875
2022-01-28 22:48:50 +01:00
Nikolay Nikolov
9579759f01 + added wasi to the list of targets without thread support 2022-01-26 15:39:24 +02:00
Pierre Muller
140fe74efb Add possibility to pass jvm target compilation parameters and clean up if no problem is detected 2022-01-24 16:35:33 +00:00
Florian Klämpfl
773babd45d + test for already fixed bug so this avoids that is is reintroduced 2022-01-23 20:11:12 +01:00
Sven/Sarah Barth
5ce96de0f2 * ensure that an expression that involves an overloaded generic in mode Delphi isn't handled as a specialization if it shouldn't be
+ added tests
2022-01-22 20:27:01 +01:00
florian
2e8321e0fa + routines to test for AVX512VNNI and AVX512BITALG support 2022-01-21 18:23:04 +01:00
florian
cecb24344c Merge branch 'main' into val_range_check 2022-01-19 22:20:24 +01:00
florian
63d8282f8f * do not use sysutils anymore 2022-01-19 22:03:24 +01:00
florian
bd104270ae * clean up 2022-01-19 22:02:58 +01:00
florian
07cd469ade Merge branch 'main' into val_range_check
# Conflicts:
#	rtl/inc/sstrings.inc
2022-01-19 21:30:58 +01:00
florian
713074ded5 * test does not need to use sysutils anymore 2022-01-19 21:25:00 +01:00
Nikolay Nikolov
b407b67ca1 * regenerate all makefiles with latest fpcmake 2022-01-19 07:08:32 +02:00
florian
e19b45a71b * tests fixed after last commit 2022-01-15 22:30:25 +01:00
florian
894c49ca93 * enable brenchmark to be compiled with -Sh 2022-01-12 20:33:59 +01:00
florian
11b069fa61 + test 2022-01-11 22:10:21 +01:00
florian
fc3b635013 * patch by Bart B to fix the value of Code for unsigned types if the input is negative, resolves #39523 2022-01-11 21:29:56 +01:00
florian
beecbf1581 Merge branch 'val_sint' into main 2022-01-10 22:11:01 +01:00
Sven/Sarah Barth
b5e57a63f5 + add test for already fixed #22252 2022-01-09 12:29:08 +01:00
florian
62f1771121 * fix test for improved fpc_Val_SInt_ShortStr 2022-01-08 14:54:18 +01:00
Pierre Muller
3b8b549eaa Fix compilation of the two tests for jvm-android target 2022-01-07 22:56:13 +00:00
florian
d29a482cd1 * fixes for fpc_Val_SInt_ShortStr by Bart B
+ new test for fpc_Val_SInt_ShortStr
  + benchmark
2022-01-07 19:19:55 +01:00
J. Gareth "Curious Kit" Moreton
fd54c958c9 New POPCNT tests to evaluate new optimisations 2022-01-06 20:57:48 +00:00
florian
89f9ebc7b7 * throw an error if raise is called in a noreturn subroutine outside of any exception frame, resolves #39514 2022-01-06 21:13:19 +01:00
Sven/Sarah Barth
52ed79c7f3 * fix #39506: add assignment operator overloads for all string types so that assignments of constant strings can be handled correctly
+ added adjusted/extended test (the test isn't enabled by default however as it requires libffi on most platforms)
2022-01-04 23:41:38 +01:00
Florian Klämpfl
4aebfe97a9 + x86: ADXSupport
+ x86: RDSEEDSupport
2022-01-03 22:51:00 +01:00
florian
983fbff871 * proper range checking for TryStrToDWord, should resolve all issues in #39406 2022-01-02 21:46:14 +01:00
florian
435f3a9fe2 * allow a range of Low(Longint) to High(DWord) in TryStrToInt, see also issue #39406
* moved test
2022-01-02 21:33:01 +01:00
florian
2a93e65511 * seperator => separator 2022-01-02 13:12:33 +01:00
florian
d2447026de + modeswitch UNDERSCOREISSEPERATOR, active by default in delphi modes:
support _ as seperator in numbers, it is ignored while reading them, resolves #39504
2022-01-01 23:28:36 +01:00
Florian Klämpfl
25eab57a58 * allow %... for binary constants in delphi mode, resolves #39503 2021-12-29 15:37:53 +01:00
Florian Klämpfl
dde8f54ee7 + LZCNTSupport
+ test extended
2021-12-28 17:05:56 +01:00
Nikolay Nikolov
efe08183be Merge commit 'f289f2694ab837b414aa131a0514c56fee4950bc' into unicodekvm 2021-12-26 05:25:41 +02:00
florian
781b2d0a80 * patch by Rika: second part of #39496, resolves #30496
+ extended test
2021-12-25 20:01:32 +01:00
florian
159201d054 * activate missing test 2021-12-19 22:57:33 +01:00
florian
c6874df5c8 * better error recovery, resolves #39485 2021-12-16 22:27:38 +01:00
florian
2cf68f6dbf * files moved as strutils is now in rtl-objpas 2021-12-10 22:05:57 +01:00
Florian Klämpfl
60c26a11ef * patch by Bart B. to improve DelSpace1, resolves #39465
+ test
2021-12-09 22:52:01 +01:00
Sven Barth
69bfff046a + add a test for converting a 64-bit Boolean (either QWordBool or Boolean64) to a 32-bit signed integer (this problematic case was discovered after e65b822a on PowerPC 2021-12-05 15:11:24 +01:00
Pierre Muller
271ba59cf1 All Makefile's regenerated 2021-11-25 22:13:32 +00:00
florian
65ef6f1f37 * regenerated Makefiles 2021-11-24 22:50:37 +01:00
J. Gareth "Curious Kit" Moreton
55d5b11deb Converted tabs to spaces in toverflow.inc for consistency 2021-11-18 20:31:49 +00:00
J. Gareth "Curious Kit" Moreton
29ea731b2f Added two new overflow tests 2021-11-17 20:18:57 +00:00
Pierre Muller
52cc8df079 Add some delay and a maximum attempt number in GenerateTempDir to avoid getting oversized execution log files 2021-11-12 12:08:20 +01:00
florian
03ce23246f * patch by Don Siders: Fixes spelling, grammar errors in source and compiler messages, resolves #39434 2021-11-10 19:16:14 +01:00
J. Gareth "Curious Kit" Moreton
99d04fb5b4 Added missing inc file 2021-11-08 21:46:12 +00:00
J. Gareth "Curious Kit" Moreton
671c674d65 Expanding division to 64-bit and tests 2021-11-08 21:46:12 +00:00
florian
292be9029e * when converting a*a into sqr(a), set the result type correctly
* removefloatupcasts takes care of cs_excessprecision, resolves #39012
2021-11-07 21:54:25 +01:00
florian
67e7dc0194 * consecutive naming 2021-11-07 20:03:09 +01:00
florian
d708bef92f + Aarch64: read register sets with ranges properly
+ tests
2021-11-07 20:02:29 +01:00
florian
dcb1fcd9b8 + support $lgeacyifend directive, resolves #37676 2021-11-01 23:24:42 +01:00
Jonas Maebe
15865e7602 Record variant discriminators: check types 2021-10-31 21:13:35 +01:00
Jonas Maebe
4426d0da7a Fixed variant discriminator types 2021-10-31 21:13:35 +01:00
florian
0f14bd45b1 * run fcl-image tests with regression tests 2021-10-29 23:06:26 +02:00
florian
95ad8f1694 * correctly read the region label in $region directives, resolves #39395 2021-10-28 21:13:01 +02:00
florian
2ee6a81cff * extended test to cover last commit 2021-10-20 22:33:53 +02:00
florian
3eefff75df * pass a randseed which is known to be problematic 2021-10-20 20:04:32 +02:00
florian
7e73e0dd23 + support reading of .p2align with op code and/or max. bytes in the gas assembler reader
+ test
2021-10-18 22:12:27 +02:00
florian
08050086b9 * keep type when removing "1*", resolves #38840 2021-10-17 22:23:49 +02:00
florian
ee10850a57 * patch by Sergey Larin: Reducing and aligning the size of TAnsiRec, TUnicodeRec for CPU64, resolves #38018:
For CPU64, the size of record TAnsiRec and TUnicodeRec is 16 bytes instead of 24.
    Which is very good also because of the alignment. when allocating memory, the address
    of the first character of the string will be aligned on the 16-byte boundary.
    At the same time, the useless Dummy field, which is needed in CPU64 for exactly alignment, has been removed.
    For CPU32 (and CPU16), the record size has not changed, so procedures such as
    fpc_AnsiStr_Decr_Ref, implemented in assembler (see i386, arm), remained working correctly.
  * tests adapted
2021-10-17 11:13:29 +02:00
florian
5c75ef30ce * test for #37785 which is resolved meanwhile 2021-10-16 20:44:52 +02:00
Nikolay Nikolov
44f862fb4e + added test for SysUtils.GetLocalTime 2021-10-13 03:49:54 +03:00
florian
00d4a6889d * add no internal flag when folding constants in taddnode.simplify, resolves #39308 2021-10-12 22:59:45 +02:00
florian
ca9384fd6c * patch by Dean Mustakino to avoid generation of debug info for generics, resolves #38827
+ test
2021-10-11 18:45:41 +02:00
florian
a4672fbd1c o based on a patch by Rika, resolves #39401:
* use Base64 (62=_, 63=$) encoded FNV hash (instead of CR-32) to shorted identifiers
    * renamed fpccrc to fpchash
    + test
2021-10-10 10:09:22 +02:00
florian
bff09e8e9e + CPU units: check for SHA support 2021-10-09 16:23:11 +02:00
florian
6c7e6191f6 + support of SHA extension in the internal assembler 2021-10-09 15:44:46 +02:00
florian
91cf1774dd * replace MT random generator by Xoshiro128**, resolves #38237 2021-10-05 22:20:22 +02:00
Jonas Maebe
c745ae4836 AArch64 popt: don't replace registers with X/WZR
Most arithmetic/logica instructions don't support X/WZR as operand (since
you should use movk with the calculated constant in that case)

Resolves #39372
2021-10-04 20:58:05 +02:00
Yuriy Sydorov
e9d318e7e2 * x86: Fixed update of used registers in the CMOV optimizations.
This fixes a bug reported by Martin Frb in fpc-devel which is triggered
  by the recently provided test code in FPC 3.2.2 x86_64, but is hidden
  in trunk by other pipeline peephole optimizations.
2021-10-04 18:10:34 +03:00
Jonas Maebe
ab01b0ebd7 Typed constants: no internalerror on failure
Don't check whether the expression queue is empty in the destructor in case
there was an error. Also improved error messages (constant expression instead
of variable expression expected).

Resolves #39393
2021-10-03 21:46:23 +02:00
Jonas Maebe
3fb0fab410 Fix bitpacking 62/63 bit fields on 64 bit targets
As reported on the lazarus forum:
* https://forum.lazarus.freepascal.org/index.php?topic=56341.new
* https://forum.lazarus.freepascal.org/index.php/topic,56339.msg418608/topicseen.html

Also optimized nextpowerof2 in the compiler
2021-10-03 14:00:50 +02:00
Nikolay Nikolov
799cd957e6 + added WASI .o files for the tests for linking with C 2021-10-03 04:11:51 +03:00
Nikolay Nikolov
9aefda1e6a * bug fix in test taddbool.pp - it was testing longbool conversion to boolean
twice, and not testing wordbool conversion to boolean at all
2021-10-01 04:56:36 +03:00
J. Gareth "Kit" Moreton
1f19b11398 x86_64: Fix to tw8573 overflow bug under -Cg option 2021-09-29 18:32:31 +00:00
Pierre Muller
5446d53156 Update to use gitlab 2021-09-29 17:23:28 +02:00
Pierre Muller
a7ad65f884 Fix use of svnversion if ../.git does not exist 2021-09-25 17:15:35 +02:00
Jonas Maebe
fcb646bc3b obcpas: fix categories implementing protocols
Allocate the ImplementedInterfaces array for them and save to/load from ppu

Solves #39375
2021-09-25 16:15:45 +02:00
florian
5abfe21f39 + apply unary minus optimizations also to /
* test extended
2021-09-23 22:44:16 +02:00
florian
69d5d648a9 + more unary minus optimizations
* test extended
2021-09-21 23:09:33 +02:00
florian
3e760b33c7 + more unary minus optimizations
* test extended
2021-09-20 22:31:16 +02:00
florian
8cb92fd49a * simplify real expressions involving unary minus
+ test
2021-09-19 23:08:32 +02:00
florian
e2624fdaaa * fix test 2021-09-14 22:01:39 +02:00
florian
5065e4ba50 * fix code for ARM FPA, just in case ... 2021-09-13 22:55:44 +02:00
florian
9bd785c06b * fix handling of -0.0 in sse/avx code, resolves #39357 2021-09-13 22:47:26 +02:00
Yuriy Sydorov
c30ce7108e * Do not run the tzlib1 test. It is not intended for this. 2021-09-11 20:40:36 +03:00
Yuriy Sydorov
80c63fae30 * Explicitly specify DefaultRTLFileSystemCodePage for the test in order
to be independent from the current system code page.
2021-09-11 20:35:50 +03:00
Yuriy Sydorov
64812bdc60 * Modified the test to run properly on non-UTF8 systems. 2021-09-11 20:11:40 +03:00
Yuriy Sydorov
daa05f19cb * Prevent a crash of the tw2423 test on some versions of Windows. 2021-09-11 19:54:02 +03:00
Yuriy Sydorov
fca357e898 * Disabled running of the sharemem test since fpcmemdll.dll is never built. 2021-09-11 19:54:02 +03:00
Yuriy Sydorov
0567572fae * Weak externals from DLL are nor supported on Windows. 2021-09-11 19:54:02 +03:00
Yuriy Sydorov
bcaa2c9758 * Explicitly specify CP1252 for registry tests which depends on this CP. 2021-09-11 18:10:52 +03:00
Yuriy Sydorov
16d17de1ff + Added a test for a bug fixed in b96057ad. 2021-09-06 19:01:34 +03:00
florian
677f829732 * tw39323 needs to turn on range check to test what it is supposed to test 2021-09-05 23:12:34 +02:00
florian
a5f6505edc * fix range checking for zero based strings, resolves #39323 2021-09-05 21:03:31 +02:00
florian
3069d74ecc * handle constant folding correctly for <pointer>+<ord. constant>+<ord. constant>, resolves #39332 2021-09-01 21:32:27 +02:00
florian
8efae66956 * we cannot do SSA during partial writes to arrays which span multiple registers, resolves #39325 2021-09-01 09:31:50 +02:00
Sven Barth
3ce6cae11d * fix for #39310 by fixing various small issues in tabstractrecordsymtable.has_single_field:
- initialize the returned def to a safe default
  - correctly reset the found symbol for each loop
  - reset the result when descending into a record
+ added test
2021-09-01 09:31:15 +02:00
Pierre Muller
23bf243acd Add test for bug report 38973 (already fixed in trunk/main) 2021-09-01 09:29:51 +02:00
Jonas Maebe
bc84f780ee Solves #39296: x86-64 parameter zero/sign extension 2021-09-01 09:29:51 +02:00
Pierre Muller
56a8f29519 Add support for hash generation for git repository (local modifier not implemented) 2021-09-01 09:29:50 +02:00
tg74
24f33871c0 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48927 -
2021-09-01 09:29:50 +02:00
tg74
18b868bfcd working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48880 -
2021-09-01 09:29:49 +02:00
tg74
df49a3d067 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48879 -
2021-09-01 09:29:49 +02:00
tg74
da4be71fc8 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48877 -
2021-09-01 09:29:49 +02:00
tg74
f9f0f9a1d1 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48875 -
2021-09-01 09:29:49 +02:00
tg74
e6ed010e92 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48873 -
2021-09-01 09:29:49 +02:00
tg74
afd1875834 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48872 -
2021-09-01 09:29:49 +02:00
tg74
4cc3a7fb12 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48870 -
2021-09-01 09:29:49 +02:00
tg74
183fbf77af working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48853 -
2021-09-01 09:29:49 +02:00
tg74
efcc3b2eba avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48845 -
2021-09-01 09:29:49 +02:00
tg74
a4b9fcffeb avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48807 -
2021-09-01 09:29:49 +02:00
tg74
1893babd06 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48804 -
2021-09-01 09:29:49 +02:00
tg74
6acf8abcc9 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48683 -
2021-09-01 09:29:49 +02:00
tg74
cdd2832ea7 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48682 -
2021-09-01 09:29:49 +02:00
tg74
772ea61b12 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48658 -
2021-09-01 09:29:49 +02:00
tg74
5225dd00f6 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48656 -
2021-09-01 09:29:49 +02:00
tg74
4cdc665ab7 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48606 -
2021-09-01 09:29:49 +02:00
tg74
b9fc7729c6 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48508 -
2021-09-01 09:29:49 +02:00
tg74
2e54def8e5 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48506 -
2021-09-01 09:29:49 +02:00
tg74
d13d625090 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48505 -
2021-09-01 09:29:49 +02:00
tg74
cf1fa4cf7f avxtestgenerator: working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48500 -
2021-09-01 09:29:49 +02:00
tg74
3ada628813 avxtestgenerator: working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48492 -
2021-09-01 09:29:49 +02:00
tg74
bc6e837100 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48491 -
2021-09-01 09:29:49 +02:00
tg74
d38e292082 avxtestgenerator: working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48437 -
2021-09-01 09:29:49 +02:00
tg74
56cc421c77 avxtestgenerator: working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48420 -
2021-09-01 09:29:49 +02:00
tg74
334becf76b avxtestgenerator: working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48419 -
2021-09-01 09:29:49 +02:00
tg74
f172d87925 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48416 -
2021-09-01 09:29:49 +02:00
tg74
84d05a5b0e avxtestgenerator: working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48261 -
2021-09-01 09:29:49 +02:00
tg74
4737a937b1 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48230 -
2021-09-01 09:29:49 +02:00
tg74
ef621e7014 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48189 -
2021-09-01 09:29:49 +02:00
tg74
fb6a892d9e avxtestgenerator: working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48187 -
2021-09-01 09:29:49 +02:00
tg74
ee07cc4db5 avxtestgenerator add attsuffix in 'opcode-memrefsize-state - list' (command-line option '-l')
git-svn-id: branches/tg74/avx512-0037785@48147 -
2021-09-01 09:29:49 +02:00
tg74
26442e45d5 bugfix testcases 0037785
git-svn-id: branches/tg74/avx512-0037785@48146 -
2021-09-01 09:29:48 +02:00
tg74
b7ade3e566 internal assembler-reader x86 opsize local/global var - cleanup
git-svn-id: branches/tg74/avx512-0037785@47885 -
2021-09-01 09:26:38 +02:00
tg74
6d1553984e avxtestgenerator: add new commandline param '-m', create only these testfile(s)
git-svn-id: branches/tg74/avx512-0037785@47864 -
2021-09-01 09:26:38 +02:00
tg74
17cf72ff2d avx512: external gas assembler not supported gather/scatter-opcodes without mask-register =>> not generate testcode
git-svn-id: branches/tg74/avx512-0037785@47863 -
2021-09-01 09:26:38 +02:00
tg74
ecf5e51579 working on new testmethods and bug-fixing size of (memref-operands | global and local variable
git-svn-id: branches/tg74/avx512-0037785@47807 -
2021-09-01 09:26:37 +02:00
tg74
9597ae1f03 add new option to avxtestgenerator to list opcodes-memrefsize-state
git-svn-id: branches/tg74/avx512-0037785@47764 -
2021-09-01 09:24:32 +02:00
tg74
6784bcb033 bugfixing operandsize from 32-bit to (correct) 64-bit
git-svn-id: branches/tg74/avx512-0037785@47708 -
2021-09-01 09:24:32 +02:00
tg74
8e5a54c92e working on new testmethods and bug-fixing size of (memref-operands | global and local variable
git-svn-id: branches/tg74/avx512-0037785@47685 -
2021-09-01 09:24:32 +02:00
tg74
0530a2f6e7 working on new testmethods and bug-fixing size of (memref-operands | global and local variable
git-svn-id: branches/tg74/avx512-0037785@47678 -
2021-09-01 09:24:32 +02:00
tg74
9730a50a5b working on new testmethods memref operands
git-svn-id: branches/tg74/avx512-0037785@47642 -
2021-09-01 09:23:32 +02:00
tg74
9758bec36c working on new testmethods (memref-operands)
git-svn-id: branches/tg74/avx512-0037785@47640 -
2021-09-01 09:23:32 +02:00
tg74
329ec242cf working on new testmethods (memref-operands)
git-svn-id: branches/tg74/avx512-0037785@47608 -
2021-09-01 09:23:31 +02:00
tg74
fdfe06382a bugfix internal assembler-reader x86 opsize local var
git-svn-id: branches/tg74/avx512-0037785@47606 -
2021-09-01 09:23:31 +02:00
tg74
07a9767b63 working on new testmethods (memref-operands)
git-svn-id: branches/tg74/avx512-0037785@47600 -
2021-09-01 09:23:31 +02:00
tg74
078ff5c226 working on new testmethods (memref-operands)
git-svn-id: branches/tg74/avx512-0037785@47580 -
2021-09-01 09:23:31 +02:00
tg74
834bbc4c7b add new testmethods (memref-operands)
git-svn-id: branches/tg74/avx512-0037785@47579 -
2021-09-01 09:23:31 +02:00
tg74
aef337e67c bugfix gnu-assembler platform i386 vcvtsi2sd,vcvtsi2ss,vcvtusi2sd,vcvtusi2ss
git-svn-id: branches/tg74/avx512-0037785@47441 -
2021-09-01 09:23:31 +02:00
florian
d5dfb73898 + test pastojs with regression tests
* switch extension to .pas for files which shall be ignored
    by the regression tests (they are found by the compiler automatically)
2021-08-16 23:02:09 +02:00
florian
2efaee6d85 * include fcl-json in regression tests
* switch extension to .pas for files which shall be ignored
    by the regression tests (they are found by the compiler automatically)
2021-08-16 20:20:46 +02:00
Yuriy Sydorov
fc3685819c + Added a test for the TP-style INLINE() statement. 2021-08-16 16:12:47 +03:00
florian
246bff92d2 + include fcl-passrc in regression tests 2021-08-15 11:51:42 +02:00
Nikolay Nikolov
e2f6732751 Merge remote-tracking branch 'origin/main' into unicodekvm 2021-08-08 22:45:27 +03:00
Marcus Sackrow
5350ac7d65 fpts2junit: prevent double entries in junit xml (in test log are double entries, one for compiles, one for runs) 2021-08-06 17:41:51 +01:00
michael
0e3d95b589 * Restored disappeared test
git-svn-id: trunk@49631 -
2021-07-22 05:53:06 +00:00
michael
4fac31d1c7 * Patch by Werner Pamler to improve ISO8601 to datetime conversion
git-svn-id: trunk@49624 -
2021-07-21 15:59:37 +00:00
michael
573917706f * Patch from Laco to fix issue #39261
git-svn-id: trunk@49623 -
2021-07-21 15:08:53 +00:00
svenbarth
2a2576b1d5 * further fix for Mants #26760: applied patch by Ondrej Pokorny to fix recompilation of units referenced with an "in" clause if no file extension is provided
+ added (interactive) test

git-svn-id: trunk@49613 -
2021-07-15 21:52:27 +00:00
florian
0d6a1d24bd * might_have_sideeffects in gen_c_style_operator as proposed by runewalsh, resolves #39206
git-svn-id: trunk@49608 -
2021-07-13 18:31:38 +00:00
michael
9394158fe2 * Test for fix of issue #38489
git-svn-id: trunk@49605 -
2021-07-13 08:16:14 +00:00
svenbarth
924f9466f0 * fix for Mantis #26760: apply patch by Ondrej Pokorny to ensure that units referenced by an "in"-clause are recompiled when they have been changed
+ added test (though due to the nature of the bug it needs to be interactive)

git-svn-id: trunk@49587 -
2021-07-09 15:52:00 +00:00
florian
86ac03e07e + support SHLX and SHRX in TX86AsmOptimizer.RegLoadedWithNewValue, resolves #39178
git-svn-id: trunk@49583 -
2021-07-07 20:28:04 +00:00
florian
51326e94f3 * allow char constant to be used for const string parameters in generic specializations, resolves #39030
git-svn-id: trunk@49569 -
2021-06-28 20:35:33 +00:00
florian
ce1f9cce01 * throw an error if esp/rsp are used as index register
git-svn-id: trunk@49568 -
2021-06-27 21:21:19 +00:00
nickysn
71bbee9310 * synchronized with trunk
git-svn-id: branches/unicodekvm@49556 -
2021-06-24 10:49:05 +00:00
nickysn
73aa30ee0a * set the exeext for WASI properly in dotest.pp
git-svn-id: trunk@49554 -
2021-06-24 00:27:15 +00:00
nickysn
433050a2c4 * set EXEEXT to .wasm for the WASI target in fpcmake
git-svn-id: trunk@49552 -
2021-06-24 00:16:00 +00:00
nickysn
c24e84e463 * synchronized with trunk
git-svn-id: branches/unicodekvm@49511 -
2021-06-18 10:14:13 +00:00
pierre
ce2984e16a Fix compilation of tiso8601 test by adding -Mobjfpc option
git-svn-id: trunk@49509 -
2021-06-16 21:04:25 +00:00
svenbarth
e41c1ec118 * fix test so that it will work correctly on non-Windows as well
git-svn-id: trunk@49488 -
2021-06-06 20:51:46 +00:00
svenbarth
2b3edb2c53 * in the default exception handler add the captured exception to the exception object stack as well
+ added test (needs to work with any exception handling mechanism; currently tested with SetJmp/LongJmp, SEH 32-bit and SEH 64-bit based exception handling)

git-svn-id: trunk@49486 -
2021-06-06 17:06:24 +00:00
michael
b3ced4de97 * Test from werner pamler for issue #38968
git-svn-id: trunk@49485 -
2021-06-06 12:49:37 +00:00
svenbarth
be1461654f - remove unused copy of tw17904 (wrong extension)
git-svn-id: trunk@49482 -
2021-06-05 17:44:00 +00:00
svenbarth
e89e87372e + add a test for Variant dispatch and the generated call description format (this is for the previous three fixes)
git-svn-id: trunk@49481 -
2021-06-05 17:43:57 +00:00
nickysn
3c2c578386 * synchronized with trunk
git-svn-id: branches/unicodekvm@49412 -
2021-05-29 21:46:27 +00:00
florian
0a3efb6702 + test for already fixed #26016
git-svn-id: trunk@49407 -
2021-05-29 10:05:54 +00:00
florian
f2e0af6d37 * check used registers properly for SETcc/TEST/Jcc -> Jcc, resolves #38940
git-svn-id: trunk@49405 -
2021-05-28 21:23:09 +00:00
florian
bc21634b46 * AVR: made avr_des intrinsic more usefull
git-svn-id: trunk@49362 -
2021-05-13 18:59:28 +00:00
florian
022a9b210f + AVR: avr_des intrinsic
git-svn-id: trunk@49353 -
2021-05-13 09:26:53 +00:00
nickysn
cff7bed8bd * synchronized with trunk
git-svn-id: branches/unicodekvm@49342 -
2021-05-07 01:03:26 +00:00
Tomas Hajny
a652506254 * fix for wrongly chosen conditional define name
git-svn-id: trunk@49335 -
2021-05-03 22:56:59 +00:00
Tomas Hajny
cb2c0ae594 * fix for wrong nested comments resulting in wrong results under *nix, etc., with redirected output
git-svn-id: trunk@49334 -
2021-05-03 22:16:36 +00:00
florian
1e1848da92 * fix exception generation in ln(...), resolves #38832
git-svn-id: trunk@49328 -
2021-05-02 19:45:09 +00:00
Tomas Hajny
0d37e0e0f8 + added a test for Get/SetTextAutoFlush feature
git-svn-id: trunk@49325 -
2021-05-02 15:03:36 +00:00
Jonas Maebe
9977889f4a * fix finally block getting unconditionally removed if try-block is empty
(hasnocode(nil) always returns true). Regression from r48174

git-svn-id: trunk@49305 -
2021-05-01 09:28:58 +00:00
florian
dc13516dee + patch by J. Gareth Moreton: improved tests for constant divisions including benchmark,
second part of #38806

git-svn-id: trunk@49291 -
2021-04-29 20:00:36 +00:00
pierre
6f4617eeb3 Use gdate/date -u option to get universal time for TEST_DATETIME variable
git-svn-id: trunk@49289 -
2021-04-29 14:42:56 +00:00
nickysn
23000ed570 * synchronized with trunk
git-svn-id: branches/unicodekvm@49282 -
2021-04-27 23:11:09 +00:00
florian
77cc2f4ced * decrease macro nesting counter early when expanding empty macro
to avoid errors about too depth macro nesting, resolves #38802

git-svn-id: trunk@49265 -
2021-04-25 19:49:26 +00:00
pierre
17e3c31b7e Fix gotpcrel relocation for TESTQ x86_64 instruction
git-svn-id: trunk@49252 -
2021-04-23 21:52:24 +00:00
florian
dbee3bcc0d * fixed MSecsToTimeStamp by Lagunov Aleksey, resolves #38631
git-svn-id: trunk@49247 -
2021-04-22 20:14:00 +00:00
florian
29a5d3267c * moved warning about suspicious comp assignment to type check pass, catches also
assignments of constants

git-svn-id: trunk@49242 -
2021-04-21 19:51:22 +00:00
Jonas Maebe
7c9fb4b4af * AArch64: fix storing a 32 bit value in the lower 32 bits of a 64 bit
subsetreg (mantis #38766)

git-svn-id: trunk@49236 -
2021-04-19 20:52:12 +00:00
svenbarth
f9957f30a5 * fix for Mantis #38771: the owner of the procdef might be Nil in case of a specialization (that virtual can't be used on generics is caught later on)
+ added test

git-svn-id: trunk@49228 -
2021-04-18 14:01:09 +00:00
nickysn
8f2d5716f6 * synchronized with trunk
git-svn-id: branches/unicodekvm@49224 -
2021-04-18 01:58:34 +00:00
florian
9969da24e1 * { ... } is no a longer valid comment in aarch64 assembler
git-svn-id: trunk@49215 -
2021-04-17 11:14:37 +00:00
Jonas Maebe
bb977b398d * AArch64: fix spilling integer registers to stack offsets that cannot be
encoded directly into the spilling instructions (second part of
    mantis #38053)

git-svn-id: trunk@49207 -
2021-04-14 20:56:32 +00:00
florian
695665c393 + optimized multiplication for "symmetric" bit patterns on arm
git-svn-id: trunk@49199 -
2021-04-13 21:16:56 +00:00
florian
f1e748512b * fix test for case sensitive and case preserving file systems
git-svn-id: trunk@49183 -
2021-04-11 17:30:22 +00:00
florian
c1f85ac3a1 + initial implementation of path dependent IsFileNameCaseSensitive/IsFileNameCasePreserving functions for darwin
git-svn-id: trunk@49164 -
2021-04-10 13:29:59 +00:00
Jonas Maebe
ff3f812d97 * fix conversion of true/false macro definitions to boolean values
(mantis #38492)
   o since the macro lookups are recursive, "mac" will usually be nil
     afterwards (unless we found an undefined macro)

git-svn-id: trunk@49160 -
2021-04-10 10:56:02 +00:00
Jonas Maebe
500e29e5e2 * regenerated with FreeBSD/AArch64 support
git-svn-id: trunk@49159 -
2021-04-10 08:19:40 +00:00
florian
09628e56cb * even if currency is handled by torddef, it is a real number, so using / is perfectly right, resolves #38718
git-svn-id: trunk@49154 -
2021-04-09 20:38:46 +00:00
florian
b09669dffe * allow also CSUBSETREG in tx86inlinenode.second_IncludeExclude, resolves #38733
git-svn-id: trunk@49151 -
2021-04-09 20:09:19 +00:00
florian
503fc85dff * patch by J. Gareth Moreton: handle register allocations correctly in MovMov2Mov 3, resolves #38703
git-svn-id: trunk@49128 -
2021-04-06 15:50:28 +00:00
florian
e4cc8af8fc * Makefiles regenerated
git-svn-id: trunk@49124 -
2021-04-05 15:39:07 +00:00
florian
f0023a3b04 * Aarch64: patch by J. Gareth Moreton: fix constant writing, resolves #38695
+ test

git-svn-id: trunk@49104 -
2021-04-02 16:44:43 +00:00
svenbarth
2885d3ab56 * fix for Mantis #37426: don't allow an instance function of a type helper to be used on the type instead of a concrete value
+ added test

git-svn-id: trunk@49102 -
2021-04-02 15:25:01 +00:00
florian
cc64d9eb4e * do not swap left/right code generation for assignment nodes if
conditional expressions are involved, resolves #38129

git-svn-id: trunk@49095 -
2021-03-31 20:53:18 +00:00
florian
47557e0ad2 * cpubase.cgsize2subreg should handle all valid sizes, resolves #38557
git-svn-id: trunk@49087 -
2021-03-30 16:44:19 +00:00
nickysn
7371e7c105 * synchronized with trunk
git-svn-id: branches/unicodekvm@49078 -
2021-03-29 02:38:13 +00:00
florian
b4eb1780ad * added test, issue is fixed by r48758 already
git-svn-id: trunk@49075 -
2021-03-28 21:10:13 +00:00
florian
47eb7cec0c * test needs objfpc mode else i is 16 bit only
git-svn-id: trunk@49074 -
2021-03-28 21:09:35 +00:00
florian
6218254e53 * allow also 8 byte string constants in assembler, resolves #28640
git-svn-id: trunk@49066 -
2021-03-27 17:13:14 +00:00
Jonas Maebe
308aee42a0 * the offset parameter of reference_reset* must be asizeint rather than
longint (mantis #38636)

git-svn-id: trunk@49065 -
2021-03-27 15:31:33 +00:00
svenbarth
ca7c775e36 * fix for Mantis #38642: for enumerations with jumps Delphi behaves as follows:
- GetTypeKind returns tkEnumeration (FPC previously generated a compile error here)
  - GetTypeInfo on a generic parameters returns Nil for such types (FPC previously generated a compile error here)
  - GetTypeInfo otherwise generates a compile error (as before)

git-svn-id: trunk@49064 -
2021-03-27 09:35:07 +00:00
florian
8ed2ea3672 * createlst and gparmake need to be used with the source os extension (actually, we should call it host extension)
git-svn-id: trunk@49019 -
2021-03-20 10:16:38 +00:00
nickysn
066bb3c454 * synchronized with trunk
git-svn-id: branches/unicodekvm@49018 -
2021-03-20 04:39:38 +00:00
ondrej
2a61397d37 unix: fix timezone info for timers after the last transition
git-svn-id: trunk@49005 -
2021-03-19 08:11:10 +00:00
nickysn
6efb4156a6 * synchronized with trunk
git-svn-id: branches/unicodekvm@48990 -
2021-03-16 01:21:33 +00:00
marcus
c4dfb2c8bd fpts2junit: remove ../ at start for the classname
git-svn-id: trunk@48987 -
2021-03-15 19:08:17 +00:00
nickysn
62965b777b * synchronized with trunk
git-svn-id: branches/unicodekvm@48974 -
2021-03-14 21:43:24 +00:00
florian
649bfecf62 + compiled C object files, generated by riscv32-unknown-linux-gnu-gcc (GCC) 10.2.0 with -O3
git-svn-id: trunk@48973 -
2021-03-14 21:34:51 +00:00
florian
2b47425f08 + tx64tryfinallynode.dogetcopy properly implemented, resolves #37305
git-svn-id: trunk@48972 -
2021-03-14 21:23:05 +00:00
michael
f5389cbc28 * test for bin2hex
git-svn-id: trunk@48968 -
2021-03-14 15:31:52 +00:00
nickysn
fc32428639 * merged the wasm branch. Adds support for the wasm32 (WebAssembly 32-bit)
target.

git-svn-id: trunk@48955 -
2021-03-14 00:48:18 +00:00
nickysn
ea8f068817 * regenerated makefiles after sync with trunk
git-svn-id: branches/wasm@48951 -
2021-03-13 21:52:13 +00:00
nickysn
e42330a7ad * synchronized with trunk
git-svn-id: branches/wasm@48949 -
2021-03-13 21:47:24 +00:00
pierre
e8fbe6696b Update Makefile's after commits 48929/48930
git-svn-id: trunk@48940 -
2021-03-12 13:23:41 +00:00
florian
3c43677952 * re-build c objects with a fixed C compiler regarding floating point parameter passing: riscv64-linux-gnu-gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 with -O3
git-svn-id: trunk@48939 -
2021-03-11 21:55:41 +00:00
florian
c603477ec4 * fix test for RiscV
git-svn-id: trunk@48914 -
2021-03-08 17:12:19 +00:00
nickysn
f8052134e3 * synchronized with trunk
git-svn-id: branches/wasm@48906 -
2021-03-08 00:52:43 +00:00
nickysn
44fb35c5c6 * synchronized with trunk
git-svn-id: branches/unicodekvm@48905 -
2021-03-08 00:52:06 +00:00
florian
6166084f08 + new test
git-svn-id: trunk@48895 -
2021-03-07 09:16:10 +00:00
pierre
f620f61d3b Update to objects compiled using GNU gcc 5.5.0 for sparc-solaris
git-svn-id: trunk@48891 -
2021-03-06 22:06:23 +00:00
florian
ba0f08018f * fix test so it really uses random values for the boolean, thanks Jonas for the hint!
git-svn-id: trunk@48887 -
2021-03-06 15:16:29 +00:00
florian
62bd0068b6 * do not apply the (a and b) or (c and not(b)) into c xor ((c xor a) and b) optimziation if short boolean evaluation is used, should resolve #38576
* improved test

git-svn-id: trunk@48884 -
2021-03-06 14:48:15 +00:00
pierre
01a351f804 Fix for bug report 38549 about wrong code generation
for mips/mipsel and riscv32/riscv64 CPUs for 
  set operators '<=' and '>='.
  New tests for this bug report.
  tw38549.pp, main source, also included 
  by tw38549a.pp, tw38549b.pp, tw38459c.pp and tw38459d.pp
  with explicit {$packset X}, with X=1,2,4, or 8 added.

git-svn-id: trunk@48874 -
2021-03-03 22:15:20 +00:00
nickysn
685d608f82 * synchronized with trunk
git-svn-id: branches/unicodekvm@48847 -
2021-03-01 13:24:49 +00:00
nickysn
940738a3a1 * synchronized with trunk
git-svn-id: branches/wasm@48846 -
2021-03-01 13:21:24 +00:00
florian
e0a1bc6675 + optimize (a and b) or (c and not(b)) into c xor ((c xor a) and b)
+ test

git-svn-id: trunk@48841 -
2021-02-28 18:20:46 +00:00
Jonas Maebe
9c831677ff * support Objective-C classes and protocols with -gw3 (mantis #36250)
git-svn-id: trunk@48834 -
2021-02-27 21:44:53 +00:00
pierre
58171b4308 Extend list of CPUs defining slowcpu conditional in tmt1 and tw8177 sources
git-svn-id: trunk@48816 -
2021-02-26 23:39:14 +00:00
pierre
63a3c25493 Add wposuffix to keep different logs for each pass when passes is > 1
git-svn-id: trunk@48800 -
2021-02-24 10:36:45 +00:00
pierre
f85d7d2591 Fix tw28713 for big endian CPUs
git-svn-id: trunk@48795 -
2021-02-23 22:04:18 +00:00
pierre
2cd6951205 Apply patch proposed by J. Gareth Moreton in bug report #0038527
The patch reworks the LeaLea2Lea optimisation and hopefully fixes the bug (admittedly by adding a brand new optimisation!).

git-svn-id: trunk@48792 -
2021-02-22 23:15:31 +00:00
florian
5a26c58285 * allow in-operator to be used on type parameters, resolves #38497
git-svn-id: trunk@48763 -
2021-02-21 21:29:40 +00:00
florian
60c8b71bae * string constants have a size of 0, resolves #38504
git-svn-id: trunk@48759 -
2021-02-21 18:46:00 +00:00
nickysn
cd8b0036d4 * synchronized with trunk
git-svn-id: branches/unicodekvm@48756 -
2021-02-21 17:48:14 +00:00
florian
17a3ca31ff * fix by avk for issue #38513
+ test

git-svn-id: trunk@48752 -
2021-02-21 13:54:25 +00:00
nickysn
3799569da0 * synchronized with trunk
git-svn-id: branches/unicodekvm@48655 -
2021-02-12 01:55:05 +00:00
nickysn
a74024e7d5 * synchronized with trunk
git-svn-id: branches/wasm@48654 -
2021-02-12 01:54:24 +00:00
nickysn
0470ca8fe3 + added simple test for the TRawByteStringCollection object type
git-svn-id: branches/unicodekvm@48638 -
2021-02-10 21:59:30 +00:00
michael
47be45830c * Fix issue ID #38462
git-svn-id: trunk@48580 -
2021-02-10 11:00:22 +00:00
nickysn
c870246cd7 * synchronized with trunk
git-svn-id: branches/unicodekvm@48572 -
2021-02-09 23:34:04 +00:00
florian
ecce39a3b2 + throw a warning in ISO mode if a constant string is assigned to a char and the sizes do not match, resolves #38439
git-svn-id: trunk@48563 -
2021-02-09 20:48:27 +00:00
nickysn
56f10ae916 * synchronized with trunk
git-svn-id: branches/unicodekvm@48529 -
2021-02-08 11:13:57 +00:00
florian
3e453f92fc * statx based Sysutils.FileGetDate with handle fixed
+ test

git-svn-id: trunk@48520 -
2021-02-07 17:59:28 +00:00
florian
b08717fef6 * make statx based Sysutils.FileAge working with relative pathes
+ test

git-svn-id: trunk@48519 -
2021-02-07 17:41:27 +00:00
florian
b1f7fb4ba1 * test for already fixed issue #24434
git-svn-id: trunk@48516 -
2021-02-06 12:53:04 +00:00
nickysn
ae75c87d65 * synchronized with trunk
git-svn-id: branches/wasm@48515 -
2021-02-06 08:27:24 +00:00
florian
d0910b5ac8 * allow sub/add nodes in constant pointer expressions, resolves #34027
git-svn-id: trunk@48514 -
2021-02-05 22:10:27 +00:00
nickysn
cf3b883bce * synchronized with trunk
git-svn-id: branches/wasm@48513 -
2021-02-04 21:34:40 +00:00
florian
a67c184200 * test for already fixed issue #32139
git-svn-id: trunk@48501 -
2021-02-02 21:36:54 +00:00
nickysn
4119d1e05f * synchronized with trunk
git-svn-id: branches/unicodekvm@48499 -
2021-02-02 04:03:00 +00:00
nickysn
9de09f1d28 * synchronized with trunk
git-svn-id: branches/wasm@48498 -
2021-02-02 04:02:02 +00:00
florian
40b8bde305 * test for 32 bit targets fixed
git-svn-id: trunk@48496 -
2021-02-01 21:14:19 +00:00
nickysn
c15f12ef0d * synchronized with trunk
git-svn-id: branches/unicodekvm@48481 -
2021-02-01 01:13:58 +00:00
nickysn
d52e918fc8 * synchronized with trunk
git-svn-id: branches/wasm@48480 -
2021-02-01 01:13:27 +00:00
florian
b4a1c27c58 * renamed new syscall wrapper in linux to be consist with the others
git-svn-id: trunk@48479 -
2021-01-31 22:25:18 +00:00
svenbarth
d13838ac0b + add a test which ensures that a "const TVarData" parameter is passed as a reference.
This is required for Delphi compatibility as implementers of IVarInvokable or
  inheritors of TInvokableVariantType need to modify the variant data by using
  a pointer to the TVarData because it's passed as const and thus not modifyable
  by itself.
  This behavior is documented in so far as the C++ builder documentation shows
  that the same parameter is implemented as "const&".

git-svn-id: trunk@48478 -
2021-01-31 21:23:29 +00:00
svenbarth
fe5b29c111 * fix for Mantis #38249: apply adjusted patch by avk to implemnt CastTo handling when the source variant is a custom variant, but the destination type is not
+ added test (includes test for #20849)

git-svn-id: trunk@48477 -
2021-01-31 20:26:26 +00:00
florian
b8ab06aae7 + futimens syscall
* make use of futimens syscall in sysutils unit
  + tests

git-svn-id: trunk@48472 -
2021-01-31 17:12:39 +00:00
florian
0c77536f11 + linux.fputimensat which properly uses the _tim64 version if needed and available
+ test

git-svn-id: trunk@48470 -
2021-01-31 16:24:47 +00:00
florian
33cd5778cd * properly check for linux version supporting statx
git-svn-id: trunk@48469 -
2021-01-31 16:23:23 +00:00
nickysn
8b52969b62 * synchronized with trunk
git-svn-id: branches/wasm@48460 -
2021-01-30 22:29:44 +00:00
florian
f39f8d0f1a * linux: make use of statx in Sysutils.FileAge if available
git-svn-id: trunk@48457 -
2021-01-30 18:47:27 +00:00
michael
a90315c3a0 * Patch from Noel Duffy to implement DNS over TCP and test
git-svn-id: trunk@48455 -
2021-01-30 08:28:13 +00:00
nickysn
80d3a8d130 * synchronized with trunk
git-svn-id: branches/wasm@48453 -
2021-01-29 23:45:05 +00:00
florian
4bec57702f * handle generic with ord call of sub-range and enumeration data excluding 0 correctly, resolves #38412
git-svn-id: trunk@48452 -
2021-01-29 21:31:59 +00:00
nickysn
e7d568ea38 * synchronized with trunk
git-svn-id: branches/wasm@48451 -
2021-01-29 04:03:57 +00:00
nickysn
20a6e682a9 * synchronized with trunk
git-svn-id: branches/unicodekvm@48450 -
2021-01-29 03:03:38 +00:00
florian
e99827246e * fix type conversion for array indicies if the ordinal ranges of the involved types do not overlap, resolves #38413
git-svn-id: trunk@48449 -
2021-01-28 20:56:15 +00:00
nickysn
64bb0359d2 * synchronized with trunk
git-svn-id: branches/wasm@48412 -
2021-01-24 23:38:35 +00:00
florian
0ab4515e58 * properly mangle interface wrapper names to avoid duplicate label errors, resolves #38385
git-svn-id: trunk@48411 -
2021-01-24 21:32:27 +00:00
svenbarth
c3fd06b6b5 * fix for Mantis #38390: use Val instead of StrToInt to avoid overload problems
+ added test

git-svn-id: trunk@48399 -
2021-01-24 14:57:20 +00:00
florian
402876bc1f * let theapthread wait unneededly less so the total run time is shorter
git-svn-id: trunk@48388 -
2021-01-24 13:26:49 +00:00
yury
7ffa963127 * Moved the tregistry2 test back to packages and added more test OS targets.
git-svn-id: trunk@48383 -
2021-01-24 11:05:34 +00:00
yury
ddf0ce014b * Include packages/fcl-registry/tests to be run by the testsuite. Renamed files so only the main test files start with "t".
git-svn-id: trunk@48382 -
2021-01-24 11:01:33 +00:00
nickysn
1d9d1ab859 * regenerated makefiles
git-svn-id: branches/wasm@48369 -
2021-01-24 02:01:11 +00:00
nickysn
dccd4d5b37 * synchronized with trunk
git-svn-id: branches/wasm@48359 -
2021-01-24 00:39:31 +00:00
florian
9803318fef * give a proper error if macros are too deeply nested
git-svn-id: trunk@48357 -
2021-01-23 21:29:37 +00:00
nickysn
fe7c14a2c0 * synchronized with trunk
git-svn-id: branches/wasm@48334 -
2021-01-22 16:37:32 +00:00
pierre
1351ccb3bf Avoid range check errors
git-svn-id: trunk@48317 -
2021-01-22 12:51:53 +00:00
nickysn
4165c893be * synchronized with trunk
git-svn-id: branches/wasm@48292 -
2021-01-21 23:16:12 +00:00
florian
f4c74b6b09 * fix TBufferedFileStream.Seek(0,soBeginning) as proposed by Andrey Zubarev, resolves #38351
git-svn-id: trunk@48282 -
2021-01-21 21:08:13 +00:00
pierre
2b79b11744 Add some colors for comparison between two run results
git-svn-id: trunk@48270 -
2021-01-21 16:15:35 +00:00
yury
d83e1a33ca * tregistry2 test: Use cwstring on unices. Perform the test only on Windows and Linux.
git-svn-id: trunk@48263 -
2021-01-21 10:42:07 +00:00
nickysn
062360341c * synchronized with trunk
git-svn-id: branches/wasm@48248 -
2021-01-20 23:34:58 +00:00
pierre
62edfa5584 Change parameter type of Build* procedure from out to var, as the StringList is created in calling main
This avoid a warning during compliaztion and a crash when compiled with -gt* option.

git-svn-id: trunk@48228 -
2021-01-20 13:20:11 +00:00
yury
fe09efbd0e * Removed usage the Windows unit from the tregistry2 test.
git-svn-id: trunk@48226 -
2021-01-20 09:46:44 +00:00
nickysn
780ded903a * synchronized with trunk
git-svn-id: branches/wasm@48225 -
2021-01-19 23:01:55 +00:00
yury
9fd0f94d7c * tregistry2 test: Delete reg.xml and the app config dir.
git-svn-id: trunk@48205 -
2021-01-19 17:10:55 +00:00
yury
a29bfe5505 * Moved the tregistry2.pp test from packages to tests in order it to be run by daily test runs. tregistry2 has been failing for years and nobody has noticed this.
git-svn-id: trunk@48204 -
2021-01-19 16:52:43 +00:00
nickysn
e0a1ce86fd * synchronized with trunk
git-svn-id: branches/wasm@48158 -
2021-01-15 01:05:37 +00:00
florian
4e61867ce1 * modified (use IsManagedType to check if a for loop can be used for copying) patch by Bart Broersma to fix IncreaseCapacity of TQueue, resolves #38306
git-svn-id: trunk@48154 -
2021-01-13 21:24:50 +00:00
nickysn
8b4aceea50 * synchronized with trunk
git-svn-id: branches/wasm@48134 -
2021-01-11 07:01:01 +00:00
Jonas Maebe
5c2303a76b * add parameter cleanup nodes to the call cleanup block (mantis #38316)
git-svn-id: trunk@48130 -
2021-01-10 15:47:27 +00:00
pierre
b7c519de81 Add check for bug fix in bug report 38339
git-svn-id: trunk@48129 -
2021-01-10 14:43:22 +00:00
Jonas Maebe
b1a1e6c510 + test for mantis #38337, already fixed
git-svn-id: trunk@48127 -
2021-01-10 14:09:22 +00:00
florian
7f775abb6d * throw a proper error if a contructur has a type parameter in delphi mode, resolves #37217
git-svn-id: trunk@48113 -
2021-01-08 14:19:19 +00:00
pierre
37201319bf Add two new button to simplify inspecting evolutiontestsuite difference in time
git-svn-id: trunk@48110 -
2021-01-08 09:57:31 +00:00
nickysn
c1b37a3cb5 * synchronized with trunk
git-svn-id: branches/wasm@48109 -
2021-01-08 08:46:38 +00:00
florian
63c603cf32 * include also regexpr test in normal regression tests
git-svn-id: trunk@48105 -
2021-01-07 22:05:22 +00:00
nickysn
77578f0e03 * synchronized with trunk
git-svn-id: branches/wasm@48090 -
2021-01-06 05:11:52 +00:00
florian
aec18c2426 * weight currency->float conversions the same regardless if
the currency type is handled by the integer unit or the x87 fpu,
    resolves #38309

git-svn-id: trunk@48089 -
2021-01-05 22:39:16 +00:00
svenbarth
57d9884d96 * fix for Mantis #38310: ignore procsyms that have no procdefs for checking overloads, or more precisely to stop checking for overloads; these are generic dummy symbols
+ added (simplified) tests

git-svn-id: trunk@48088 -
2021-01-05 20:58:46 +00:00
nickysn
052d1bc38a * synchronized with trunk
git-svn-id: branches/wasm@48022 -
2021-01-04 02:57:44 +00:00
florian
7d5b0d2382 * handle rawbytestrings in Win32Ansi2UnicodeMove properly, resolves #38299
git-svn-id: trunk@48021 -
2021-01-03 22:55:37 +00:00
pierre
f2568e37e4 Add testing for single float type in trndmode.pp
git-svn-id: trunk@48020 -
2021-01-03 22:03:27 +00:00
pierre
57861c934d Check also that SetRoundMode returns correctly previous rounding mode
git-svn-id: trunk@48019 -
2021-01-03 21:55:35 +00:00
pierre
3362abb30c * Set softfloat_rounding_mode indise SetRoundMode function for all CPUs.
* SetRoundMode returns previous rounding mode value for all CPUs.

git-svn-id: trunk@48018 -
2021-01-03 21:44:18 +00:00
florian
9592c033e5 * process fma intrinsic parameters in an order which takes care of multiple x87 stack parameters, resolves #38295
git-svn-id: trunk@48017 -
2021-01-03 17:08:58 +00:00
svenbarth
c96029ebd5 * 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
+ added tests

Note: what Delphi /does/ allow however is to overload a generic routine with a generic type... go figure. :/ We currently don't allow that

git-svn-id: trunk@48002 -
2021-01-02 23:23:39 +00:00
svenbarth
d854d18bd9 * instead of blindly consuming whatever comes next trigger an explicit error if the parsed expression does not match for "INDEX ordexpr" or "NAME strexpr"
+ added tests

git-svn-id: trunk@47995 -
2021-01-02 23:23:08 +00:00
nickysn
cf6c173653 * regenerated makefiles
git-svn-id: branches/wasm@47988 -
2021-01-02 22:25:27 +00:00
florian
3109005791 + fold also (string const+(string const+string var))
* string tree folding code moved into level 2 opt. block

git-svn-id: trunk@47986 -
2021-01-02 22:18:38 +00:00
nickysn
a84b091b5e * makefiles regenerated after fpcmake update
git-svn-id: branches/wasm@47985 -
2021-01-02 22:15:42 +00:00
nickysn
05d66eddfc * synchronized with trunk
git-svn-id: branches/wasm@47982 -
2021-01-02 22:06:17 +00:00
florian
9430436a24 + include package/hash in regression tests
git-svn-id: trunk@47979 -
2021-01-02 19:27:01 +00:00
florian
7de94e7a1d * properly fold string+string const+string const., resolves #38267
git-svn-id: trunk@47977 -
2021-01-02 17:18:54 +00:00
nickysn
f87f9969a7 * synchronized with trunk
git-svn-id: branches/wasm@47937 -
2021-01-02 04:55:50 +00:00
florian
97abf6b495 * first part of fixing #38267: do not bail out early during constant folding
if the constant is 1 or -1

git-svn-id: trunk@47933 -
2021-01-01 15:26:13 +00:00
florian
b4a6c22234 * do not check inlined exit nodes for unset results, resolves #38259
git-svn-id: trunk@47926 -
2020-12-31 15:52:02 +00:00
nickysn
57b976535f * synchronized with trunk
git-svn-id: branches/wasm@47896 -
2020-12-29 23:50:34 +00:00
florian
edfbf2ce30 * correctly handle inlined exits in dfa, resolves #38259
git-svn-id: trunk@47894 -
2020-12-29 22:35:33 +00:00
florian
6866b07266 * simplified test after r47892
git-svn-id: trunk@47893 -
2020-12-29 18:26:20 +00:00
florian
eb7702bea4 + implement align directive for records, resolves #28927
git-svn-id: trunk@47892 -
2020-12-29 18:19:35 +00:00
nickysn
96de6c4b96 * synchronize with trunk
git-svn-id: branches/wasm@47877 -
2020-12-28 18:45:24 +00:00
Jonas Maebe
6d03f2807a * made exit codes unique
git-svn-id: trunk@47860 -
2020-12-27 13:19:05 +00:00
Jonas Maebe
b359080f42 * fixed round(currency) so it takes the rounding mode into account on
platforms where currency is "type int64"
  * inline trunc(currency), trunc(comp) and round(comp) on platforms where
    currency and comp are "type int64"

git-svn-id: trunk@47859 -
2020-12-27 13:19:02 +00:00
Jonas Maebe
3e047d3691 * generate more efficient code for trunc(currency), trunc(comp), and
round(comp) on platforms where currency and comp are handled using the FPU
   o also fixes trunc(comp) and trunc(currency) compilation for x86 on LLVM
     with -Oofastmath
 * add missing removal of excess fpu precision typecasts for trunc/round

git-svn-id: trunk@47854 -
2020-12-27 13:18:47 +00:00
florian
33afecd117 + support got modifier on labels
git-svn-id: trunk@47851 -
2020-12-26 18:51:45 +00:00
pierre
8b34e11da3 Add code to test Linux version, try statx syscall only if version is >= to 4.11
git-svn-id: trunk@47850 -
2020-12-26 17:08:56 +00:00
florian
6db164c993 * min/max optimization needs to check both operands of the if condition, even if no else-statement is passed, resolves #38249
git-svn-id: trunk@47843 -
2020-12-23 22:41:37 +00:00
florian
4f05523db9 + RTMSupport function
+ if available use RTM to support InterlockedCompareExchange128 on i386

git-svn-id: trunk@47833 -
2020-12-22 22:00:08 +00:00
svenbarth
cbe352808a * fix for Mantis #38238: when creating a copy of a procdef for a procvar set the methodpointer flag also for methods of records
+ added test

git-svn-id: trunk@47826 -
2020-12-20 22:41:27 +00:00
florian
b8fc193b0c * extended test
git-svn-id: trunk@47818 -
2020-12-19 12:58:35 +00:00
florian
1d92cc43bb * fpc_ln_real raises an exception for invalid operands if they exception is not masked
git-svn-id: trunk@47813 -
2020-12-18 22:36:17 +00:00
florian
072be7b0f7 * Aarch64: fix 32 bit div operations with constant denominators, resolves #38225
git-svn-id: trunk@47812 -
2020-12-18 21:39:35 +00:00
svenbarth
2a897f5b6b * apply slightly adjusted patch by Blaise.ru which moves parsing of result types to a separate functions thus ensuring that File types can't be used for procedure variables (just like they already couldn't be used as a result type for normal functions)
+ added test

git-svn-id: trunk@47810 -
2020-12-18 13:50:39 +00:00
florian
80f87edffd * x86-64: correctly translate and with large constants in mod optimizations, resolves #38164
git-svn-id: trunk@47805 -
2020-12-17 22:09:23 +00:00
svenbarth
d29f95d9e1 * apply patch by Blaise.ru to allow specializations for the result type of function and method variables
+ added tests

git-svn-id: trunk@47795 -
2020-12-16 21:43:30 +00:00
svenbarth
32938dde1c * apply patch by Blaise.ru to allow record methods to be assigned to method variables as well (this is Delphi compatible)
+ added test

git-svn-id: trunk@47794 -
2020-12-16 21:43:25 +00:00
nickysn
47ff701db7 * synchronized with trunk
git-svn-id: branches/wasm@47778 -
2020-12-14 23:07:56 +00:00
florian
2e2f2eb784 - remove could which prevented that rte is triggered even if we are inside
an exception block but *without* using sysutils. The remove code
    was once added to have primitive exception handling even if
    no sysutils is used. But if this is desired, an appropriate handler
    to ErrorProc should be assigned. Resolves #38201

git-svn-id: trunk@47775 -
2020-12-14 21:55:42 +00:00
nickysn
adb631f2cf * synchronized with trunk
git-svn-id: branches/wasm@47772 -
2020-12-13 21:57:28 +00:00
florian
88a0d4d64b + optimize if x>a then x:=a; into min(a,x);, similiar for max
* test extended

git-svn-id: trunk@47767 -
2020-12-13 09:52:44 +00:00
nickysn
91e9558f5b * synchronized with trunk
git-svn-id: branches/wasm@47766 -
2020-12-12 23:20:33 +00:00
florian
53a4e6c513 * patch by Zoran Vučenović: fixes TDoubleRec.SetFrac, resolves #38202
+ test

git-svn-id: trunk@47765 -
2020-12-12 21:39:17 +00:00
yury
67284c7452 + Added a test for proper setting of fc_no_direct_exit in flowcontrol.
git-svn-id: trunk@47755 -
2020-12-11 14:17:18 +00:00
svenbarth
1efeb5851a * fix regression introduced with r47625 for Mantis #38122: when checking for a dereferentiation of the Self parameter subscript and vec nodes need to be kept
+ added test

git-svn-id: trunk@47747 -
2020-12-10 06:11:46 +00:00
florian
3707cb4b1e * handle min/max properly if it is applied to NaNs
* test extended

git-svn-id: trunk@47729 -
2020-12-08 20:41:58 +00:00
nickysn
dc5b78d5f0 * synchronized with trunk
git-svn-id: branches/wasm@47716 -
2020-12-08 06:57:57 +00:00
florian
a16b34d951 * test for min/max intrinsics
git-svn-id: trunk@47697 -
2020-12-06 14:19:00 +00:00
svenbarth
deaff6f7fe * fix for Mantis #38151: when a Variant is passed by reference to a IDispatch property then invoke it using DISPATCH_PROPERTYPUTREF instead of DISPATCH_PROPERTYPUT
+ added test

git-svn-id: trunk@47687 -
2020-12-04 22:07:39 +00:00
svenbarth
69e6f3dcbb * 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
+ added test

git-svn-id: trunk@47686 -
2020-12-04 22:07:34 +00:00
nickysn
4676146e3d * synchronized with trunk
git-svn-id: branches/wasm@47662 -
2020-12-02 03:53:02 +00:00
florian
cbec395907 * test needs -Cg to trigger the warning
git-svn-id: trunk@47661 -
2020-12-01 21:54:45 +00:00
florian
8b06b43c1a * meanwhile all linux targets support the checkpointer directive
git-svn-id: trunk@47659 -
2020-12-01 21:18:47 +00:00
svenbarth
67d2ecc09f * with the recent ShortString changes this test is no longer needed as it was added exactly to check the condition I removed, so disable it for 3.2.1 and newer (as I want to merge these changes back to fixes)
git-svn-id: trunk@47655 -
2020-12-01 06:39:31 +00:00
nickysn
aeafe42144 * synchronized with trunk
git-svn-id: branches/wasm@47653 -
2020-12-01 03:27:01 +00:00
florian
792b629aa6 + -Xa option: generate code which allows to use more than 2 GB of static data on 64 Bit targets
+ implemented support for x86-64
  * more than 2 GB static data requires to use the --no-relax option on linux

git-svn-id: trunk@47651 -
2020-11-30 22:07:34 +00:00
florian
8ddcb34e60 * fix test for x86_64 targets using the SysV abi
git-svn-id: trunk@47638 -
2020-11-29 21:21:34 +00:00
florian
b7e2b751cf * fix test for targets not having a real wide string
git-svn-id: trunk@47637 -
2020-11-29 20:53:15 +00:00
svenbarth
3597696e98 * fix for Mantis #38145: allow overloading of assignment operators that return ShortStrings with a specific size
+ added tests

The following rules for using these operator overloads as *implicit* overloads apply (Delphi compatible):
  - if a found assignment operator returns a default ShortString then that is used
  - if only one assignment operator to a String[x] is found then that is used
  - otherwise the assignment is not possible
The explicit assignment checks for an exact match (and falls back for an implicit assignment). This is not entirely Delphi compatible as Delphi seems to favor the first found symbol in that case, but sometimes also not... :/

git-svn-id: trunk@47634 -
2020-11-29 15:47:52 +00:00
svenbarth
82957ec5a3 * 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)
+ added tests

git-svn-id: trunk@47625 -
2020-11-28 18:32:24 +00:00
florian
9c77e4a899 * support passing options to the emulator when using one for testing
git-svn-id: trunk@47604 -
2020-11-26 21:35:00 +00:00
svenbarth
903486642e * allow an integer expression for SetPeFlags and SetPeOptFlags (Delphi compatible)
* adjusted test to check that as well

git-svn-id: trunk@47602 -
2020-11-26 20:13:40 +00:00
nickysn
f9daec43ef * synchronized with trunk
git-svn-id: branches/wasm@47588 -
2020-11-25 21:59:19 +00:00
florian
9dcf85a8ef + Xtensa: FMA support
git-svn-id: trunk@47563 -
2020-11-24 20:59:47 +00:00
nickysn
59b465bbe7 * synchronized with trunk
git-svn-id: branches/wasm@47525 -
2020-11-22 04:01:56 +00:00
svenbarth
c20cbcc28f + add test to check whether ComObj correctly dispatches Ansi-, Unicode- and WideString arguments
git-svn-id: trunk@47519 -
2020-11-21 20:17:14 +00:00
nickysn
c895c8fa0a * synchronized with trunk
git-svn-id: branches/wasm@47506 -
2020-11-20 23:21:42 +00:00
pierre
68d3962889 Regenerate all Makefile's, and update utils/fpcm/fpcmake.inc and utils/fpcm/revision.inc after commit 47483
git-svn-id: trunk@47484 -
2020-11-20 14:03:57 +00:00
nickysn
8862709fb1 * synchronized with trunk
git-svn-id: branches/wasm@47463 -
2020-11-20 00:00:53 +00:00
florian
28bdb364f0 * remove readln
git-svn-id: trunk@47460 -
2020-11-19 21:37:23 +00:00
Károly Balogh
9d67adcbb6 * regenerated all Makefiles after Sinclair QL support was added
git-svn-id: trunk@47453 -
2020-11-19 02:58:27 +00:00
nickysn
911b4e852a * regen makefiles after sync with trunk
git-svn-id: branches/wasm@47450 -
2020-11-19 01:22:40 +00:00
nickysn
509821260e * synchronized with trunk
git-svn-id: branches/wasm@47448 -
2020-11-19 01:12:38 +00:00
florian
b0deefec45 * do not run the test, it is only about a compilation issue
git-svn-id: trunk@47442 -
2020-11-17 20:32:10 +00:00
florian
6380df9b42 * correctly simplify tree transforms of (a+c1+c2) if a is a pointer, resolves #37671
git-svn-id: trunk@47437 -
2020-11-16 21:47:19 +00:00
florian
878f6d9ce4 * allow generic parameters as iterator variable in for in loops, resolves #38050
git-svn-id: trunk@47425 -
2020-11-15 19:10:34 +00:00
svenbarth
3d2ee097b5 * fix for Mantis #38083: ensure that the sp_generic_dummy flag is set correctly on the new procsym when replacing a dummy sym
+ added test

git-svn-id: trunk@47424 -
2020-11-15 16:27:26 +00:00
florian
089e13396a * ensure that changed compiler options do not cause values
ending up in registers which cannot be hold in registers

git-svn-id: trunk@47415 -
2020-11-14 18:40:58 +00:00
florian
bf7961a901 * fixes for nasm writer, resolves #38074
+ test

git-svn-id: trunk@47413 -
2020-11-13 21:39:16 +00:00
florian
fc960879de -- Zusammenführen von r47033 bis r47401 in ».«:
C    compiler/i386/i386nop.inc
U    compiler/i386/i386tab.inc
U    compiler/i386/i386atts.inc
U    compiler/i386/i386att.inc
C    compiler/i8086/i8086nop.inc
U    compiler/i8086/i8086tab.inc
U    compiler/i8086/i8086atts.inc
U    compiler/i8086/i8086att.inc
U    compiler/x86/x86ins.dat
C    compiler/x86/rax86.pas
U    compiler/x86/aasmcpu.pas
U    compiler/x86/cpubase.pas
U    compiler/x86/agx86att.pas
U    compiler/x86/itcpugas.pas
U    compiler/x86/rax86att.pas
C    compiler/x86_64/x8664nop.inc
U    compiler/x86_64/x8664tab.inc
U    compiler/x86_64/x8664ats.inc
U    compiler/x86_64/x8664att.inc
U    compiler/utils/mkx86ins.pp
U    tests/utils/avx/asmtestgenerator.pas
U    tests/utils/avx/avxopcodes.pas
-- Aufzeichnung der Informationen für Zusammenführung von r47033 bis r47401 in ».«:
 U   .
Konfliktübersicht:
  Textkonflikte: 4
Konfliktübersicht:
  Textkonflikte: 4

git-svn-id: trunk@47402 -
2020-11-12 20:31:29 +00:00