Commit Graph

7539 Commits

Author SHA1 Message Date
florian
ad7cc0e69d * handle <dyn.array>+[] (and swapped) correctly, resolves #39919 2022-10-05 22:48:21 +02:00
marcoonthegit
2291100bbd * fix and test for bug #39884 solving daysbetween when zero date is crossed. 2022-10-05 20:46:18 +02:00
florian
d8cd4d283d * removed wrong program name 2022-10-04 22:02:59 +02:00
florian
2396b36c21 * nil =/<> dyn. array is a valid expression, so isbinaryoperatoroverloadable needs to take care of it, resolves #39933 2022-10-03 10:26:09 +02:00
florian
444fe092da * propertly check equality with the for-counter when propagating constants, resolves #39915 2022-09-24 20:39:43 +02:00
florian
960c154f48 * properly named 2022-09-22 23:00:34 +02:00
Sven/Sarah Barth
4f9acc10f0 * fix #39898: when a loadnode is captured ensure that its nf_load_procvar flag is applied to the subscript node as well
+ added tests
2022-09-20 00:01:49 +02:00
florian
af1194de4d * end of an include file works like a new line with regard to single line (//) comments, resolves #39912 2022-09-19 23:03:36 +02:00
Sven/Sarah Barth
c8fee69345 * fix #39907: only load system class types from units that are marked as a System unit
+ added test
2022-09-18 15:41:33 +02:00
florian
168016b865 * patch by Rika: Use linear file list in FInput.TInputFileManager instead of linked, resolves #39880 2022-09-17 22:46:57 +02:00
Sven/Sarah Barth
e21186cac0 * fix #39902: in case of mode ObjFPC function pointers passed to parameters need to be checked for the correct procdef as well
+ added adjusted/extended test
2022-09-16 16:20:42 +02:00
Sven/Sarah Barth
13fb30c52e * fix #39902: correctly handle assignment of procvars to properties with a field write accessor
+ added adjusted/extended test
2022-09-16 16:20:42 +02:00
Jonas Maebe
e746cf96da Overload selection: call procvars if result is compatible with parameter
Previously we only autmatically called procvars without parameters in TP/Delphi
modes if their result type was equal to the parameter type to which they were
passed. Resolves #39748.
2022-09-16 11:21:05 +02:00
Sven/Sarah Barth
62a57bf82e * fix #39903: correctly parse anonymous function references in records (and classes/objects)
+ added test
2022-09-15 22:57:05 +02:00
J. Gareth "Curious Kit" Moreton
2931b43000 * New test for #39713 2022-08-31 18:25:11 +00:00
Sven/Sarah Barth
a93942cd27 * correctly convert a single WideChar to a PChar constant with the correct code page
+ added test
2022-08-28 21:53:44 +02:00
florian
889c164f78 + new test 2022-08-28 21:49:38 +02:00
florian
8e9a019fb7 * moved tests to proper location 2022-08-28 21:44:33 +02:00
florian
0440749562 + test for #39873 2022-08-28 21:29:52 +02:00
Sven/Sarah Barth
e5957b1ef0 * fix #39875: when a WideString constant is used to initialize a PChar the constant needs to be converted to the current code page
+ added test
2022-08-26 18:05:13 +02:00
Sven/Sarah Barth
5135b586cb * fix #39857: don't trash symbols marked as vo_is_internal
+ added test
2022-08-26 17:42:22 +02:00
Sven/Sarah Barth
8595c927a8 * fix #39876: correctly Read(Str) enum types which have a size smaller than 4 Byte
+ added tests
2022-08-26 17:16:29 +02:00
florian
85c7368759 * handle also simulated flags in tmipselnotnode.second_boolean, resolves #39877 2022-08-24 21:16:23 +02:00
florian
2670eb1ce7 * improved test as proposed by Rika 2022-08-23 21:27:44 +02:00
florian
4f7dffadbb * extended test 2022-08-22 21:33:52 +02:00
florian
5af087cfc3 * experimental test for #39722, no sure if it will work this way on all platforms 2022-08-21 23:03:38 +02:00
florian
d3d4de7818 * test for #39834, previous commits resolve #39834 2022-08-20 18:11:24 +02:00
Sven/Sarah Barth
61debb1559 * fix #39869: correctly check whether the recorded token stream still needs to be parsed (the replay depth of the scanner needs to be *larger* than what it was before starting the playback)
+ added test
2022-08-18 23:09:01 +02:00
florian
9e14dee1c3 * fixed Math.Tanh as proposed by Paolo Valle, resolves #39867 2022-08-17 20:56:43 +02:00
marcoonthegit
533cd82922 * applied patch from Alexey for closes #39704
* reviewed checks at start of function to match Delphi in rangecheck errors and other exits
 * test for the above.
2022-08-17 18:38:02 +02:00
Ondrej Pokorny
55629aeb19 do not publish enums with jumps 2022-08-16 20:47:44 +02:00
florian
cc66eb27ab * patch by Rika: More numerical stability for Math, resolves #39863 2022-08-14 22:26:09 +02:00
Sven/Sarah Barth
27c1bb3bea * an objectdef also requires an init for its members if a member (or a member of one of the parents) has a complex initialization
+ added test
2022-08-14 15:42:32 +02:00
florian
8028a769f4 * ensure that the executable path used in the test is absolute 2022-08-12 22:12:11 +02:00
Sven/Sarah Barth
5e7330448d * fix #39858: correctly keep track of symbols that need to be captured into the capturer
+ added test
2022-08-12 17:44:39 +02:00
Sven/Sarah Barth
35958a9b6b * fix #39860: even if the block type is not correct for the specialization of a generic routine continue to specialize it to not trigger e.g. an internal error
+ added tests
2022-08-12 14:46:56 +02:00
florian
5afd809e88 + handle LOC_FLAGS in thlcgobj.location_force_mem, resolves #39292 2022-08-08 23:14:56 +02:00
J. Gareth "Curious Kit" Moreton
8ba76f7d0a * New test to catch i39851 2022-07-31 19:45:23 +00:00
Nikolay Nikolov
8c9a07a3e8 + added test for wasmglobals, where the globals are declared in the implementation section of a unit 2022-07-31 20:12:11 +03:00
Nikolay Nikolov
6d23d22d50 + added wasm dir to test dirs 2022-07-31 20:04:43 +03:00
Nikolay Nikolov
6d3da83611 + added test for wasm globals 2022-07-31 19:54:34 +03:00
florian
6c47f8f4d7 * do not warn on anonymous functions without captured variables about being not used, resolves #39853 2022-07-29 21:46:48 +02:00
Sven/Sarah Barth
c122e16beb * fix #39849: it's an error when the file (or string) parameter of a Read*/Write* is followed by a ":"
+ added test
2022-07-29 17:34:55 +02:00
Jonas Maebe
3d6c53ee74 parentfpstruct: explicitly trash before initialising
It's an internal sym, but it contains user data. Together with the previous
commit resolves #39845
2022-07-26 22:36:13 +02:00
florian
a16f35dcb1 + support RV32E Extension 2022-07-17 22:14:13 +02:00
florian
399e699b72 * tests for merge request 244 2022-07-16 22:13:21 +02:00
Sven/Sarah Barth
8d90cd3e64 * fix #39826: correctly handle function references that are part of generics/specializations, but are not generics/specializations themselves
+ added test
2022-07-15 16:32:02 +02:00
florian
d27c3b4b79 + test for #33559 2022-07-13 22:53:37 +02:00
florian
e25594c48e * correctly truncate rtti symbol names of enumeration types, resolves #39829 2022-07-11 22:07:57 +02:00
florian
1d32a575e7 * as correctly pointed out by Bart B, -gw instead of -g should be used in the test for #39816 2022-07-06 19:50:07 +02:00
florian
e28238da9b * handle absolute on strings correctly for dwarf debug info, resolves #39816 2022-07-05 23:04:57 +02:00
florian
a9db747eb9 + test for #39786 2022-07-04 22:52:05 +02:00
florian
a2a2a6d79e * naming fixed, it is a test for #39785 2022-07-03 16:09:09 +02:00
florian
c5a0d16c58 * experimental test for #39758 2022-07-02 23:36:14 +02:00
Michaël Van Canneyt
ff3f183eb2 * Patch from Bart to remove unneeded test 2022-07-02 13:05:00 +02:00
florian
ceda27ae25 * allow type parameters in variant parts of records as we do not now
what type is used during specialization, resolves #39805
2022-06-28 22:45:17 +02:00
Michaël Van Canneyt
ecb4a0abca * Restore display of exception type. fix issue #39811 2022-06-25 14:49:44 +02:00
Michaël Van Canneyt
b2ad1d3efd * Patch from Bart. Fix for issue #39797 2022-06-25 14:33:33 +02:00
Michaël Van Canneyt
53623d7184 * Fix test regressions 2022-06-25 12:48:10 +02:00
florian
3ef7fedfec + forgotten test file added 2022-06-24 22:34:02 +02:00
florian
8eb2cea349 * do not throw an internal error if slice is used on dyn. array paramters, resolves #39806 2022-06-23 23:11:18 +02:00
J. Gareth "Curious Kit" Moreton
2d8b10a5d8 * Improved TESTALL.BAT file for JVM tests 2022-06-23 19:12:14 +00:00
Sven/Sarah Barth
b2a5334a75 * fix #39795: when extracting make_prettystring it was forgotten to also append the const part of the name to the specialize name 2022-06-22 09:44:21 +02:00
Nikolay Nikolov
4d6e3b4e1a * Don't call secondpass(left) in twasmtypeconvnode.second_int_to_real, this fixes bug #39735. 2022-06-21 23:59:25 +03:00
florian
8c5bc91855 + tests for convutils unit by Bart B, resolves #39793 2022-06-20 22:43:16 +02:00
florian
98ec81896e * do not throw messages on potentially uninitialized internal symbols, resolves #39744 2022-06-15 23:30:33 +02:00
florian
a05aa25aad * Risc-V: allow also register aliases in register modification lists after asm blocks, last part to resolve #39738 2022-06-03 22:54:18 +02:00
Sven/Sarah Barth
a27bc236a0 * fix #39742: when assigning a function to a function reference it's not the function itself that needs to be checked to be captureable, but instead what it captures (this applies for both the non-generic and the generic case)
+ added tests
2022-05-31 23:16:41 +02:00
Sven/Sarah Barth
0874521a78 + add tests to ensure that the assignment of nested function variables to function references is forbidden 2022-05-31 22:50:14 +02:00
Sven/Sarah Barth
883cc6d697 + add tests that ensure that the overload selection works correctly when functions, methods or nested functions are assigned when overloads for function references are involved as well 2022-05-31 22:50:14 +02:00
Sven/Sarah Barth
2372a06926 * fix #39740: consider a conversion of a procedure or procedure variable to a function reference as a bit more expensive than otherwise
+ added test
2022-05-31 22:50:14 +02:00
Sven/Sarah Barth
7bb1b12b4f + add a mode Delphi equivalent for tanonfunc56 to check whether overload selection works correctly 2022-05-31 22:50:13 +02:00
Sven/Sarah Barth
5a680f0148 * fix #39745: the conversion from ordinals to pointer types in mode Delphi is not allowed for a void type (happens when using a typecast to convert a method without parameters to a function reference)
+ added test
2022-05-30 23:05:45 +02:00
florian
390084d59e * tests fixed 2022-05-29 10:37:24 +02:00
florian
b810afa193 * test also cmem unit intensively 2022-05-27 23:33:20 +02:00
Nikolay Nikolov
c9ed14f87b + enable the 64-bit SAR instruction on the WebAssembly target 2022-05-27 22:56:05 +03:00
Nikolay Nikolov
b6aaa06f83 + enable the ROL/ROR instructions for WebAssembly 2022-05-27 22:46:32 +03:00
Sven/Sarah Barth
f73fc7d566 * fix #39736: ensure that the capturer object and any converted function reference interface are considered used
+ added test
2022-05-27 07:24:46 +02:00
Pierre Muller
2c9776ac6b Remove %OS by %TARGET, as spotted by Gareth 2022-05-26 21:38:31 +00:00
Sven/Sarah Barth
39b7b07ebb + add tests for function references, anonymous functions and C-blocks 2022-05-26 21:44:25 +02:00
Sven/Sarah Barth
6a9b4a1b13 + apply patch by Blaise.ru: allow initialisation of method pointers with class methods (when class types are
known at compile time)
* adjust error message when a method pointer isn't suitable
+ add tests
2022-05-26 21:42:55 +02:00
Sven/Sarah Barth
bc4eb00a7a * apply patch by Blaise.ru: proper code generation for assigning class non-static methods, accessed via a class reference type, to method pointers
+ added test
2022-05-26 21:42:55 +02:00
Sven/Sarah Barth
6e7a82440e * apply patch by Blaise.ru: avoid internal error when assigning class methods, accessed via a class reference type, to incompatible procvars
+ added tests
2022-05-26 21:42:55 +02:00
Sven/Sarah Barth
a8cf67d73b * apply patch by Blaise.ru: reject assignments of instance methods, accessed via a type, to method pointers
+ add tests
2022-05-26 21:42:54 +02:00
Sven/Sarah Barth
7f9428eed5 * add cblock directive so that the test fails for the correct reason 2022-05-26 21:42:51 +02:00
Nikolay Nikolov
8c562995d7 * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
Nikolay Nikolov
0f4340e659 * fix regressions after previous patch by correctly parsing output, which does not contain '##WASI-EXITCODE:' 2022-05-24 10:30:20 +03:00
Nikolay Nikolov
a8b789d183 * patch from Pierre for working around the exitcode <= 125 limitation in wasmtime 2022-05-24 10:15:44 +03:00
Jonas Maebe
0d74752b1f Fix %cpu type as spotted by Alexey Torgashin 2022-05-15 18:01:48 +02:00
Jonas Maebe
9b11509dd0 Text for merge request #226 2022-05-15 10:57:43 +02:00
Pierre Muller
8184287ec0 Fix for variables longer than 127 chars 2022-05-10 23:18:01 +02:00
florian
084a4a0563 * made checking for supported targets more fool proof 2022-05-09 22:45:01 +02:00
J. Gareth "Curious Kit" Moreton
3e11b0e870 * New tests for aligned records 2022-05-09 20:03:44 +00:00
J. Gareth "Curious Kit" Moreton
fb14bc8459 * New webtbs/tw39646.pp test to evaluate fix for
i39646
2022-05-07 20:53:35 +00:00
florian
c4e85e5d2c * made test compilable if no floating point type support is available 2022-05-06 23:25:36 +02:00
florian
29881ee675 * for now, IO is not supported on AVR 2022-05-03 19:39:09 +02:00
florian
f5742f21a0 * do not run test, it is about successful compilation and runtime on weak CPUs is high 2022-05-01 22:58:24 +02:00
florian
6d6774bcc4 * write number of iterations 2022-05-01 22:42:57 +02:00
florian
9540dc8989 * make test compiling on avr 2022-04-29 23:06:17 +02:00
florian
3fac399683 * more precise test as suggested here: 876ae56158 (note_921869640) 2022-04-24 14:41:06 +02:00
florian
876ae56158 * patch by Rika: fix for ... in iterator for TMap and TSet, resolves #39354 2022-04-23 21:51:26 +02:00
Sven/Sarah Barth
74f9523806 * in case of an implicit specialization ensure that the symbol of the generic is indeed considered as used once the final implicit specialization has been picked
+ added test
2022-04-23 16:29:13 +02:00
Sven/Sarah Barth
97c16401f7 + add test for already fixed #39677 2022-04-22 10:40:58 +02:00
Sven/Sarah Barth
22a4cc66ec * fix #39675: consider the symbols for unnamed parameters as used so that there won't be unnecessary hints about them
+ added test
2022-04-22 10:40:58 +02:00
Sven/Sarah Barth
76753438ed * fix #39681: also handle the result type of a specialized procvar when checking for a possible implicit specialization
+ added test
2022-04-22 10:40:58 +02:00
Sven/Sarah Barth
c0fa45dc92 * a function can't be used to implicitely specialize a specialized procedure variable parameter and vice versa
+ added test
2022-04-22 10:40:58 +02:00
Sven/Sarah Barth
a5f3040da5 * the index of the generic type parameter is not the same index of the paras list
+ added test
2022-04-22 10:40:58 +02:00
Sven/Sarah Barth
66bac7c415 * fix #39679 and fix #39680: for implicit specializations a parameter used in a call might also inherit in some depth from a specialization used as parameter type
+ added tests
2022-04-22 10:40:58 +02:00
Sven/Sarah Barth
4053d59a2c * fix #39673: also resolve the dummy symbol in case this isn't a reuse of the current generic's name
+ added test
2022-04-22 10:40:58 +02:00
florian
559fcdf736 * forbid cyclic pointer definitions, resolves #39634 2022-04-21 20:03:05 +02:00
Sven/Sarah Barth
90844c2027 * fix #35261: apply slightly adjusted changes by Ryan Joseph to implement support for implicit generic function specializations
The main adjustments were as follows:
  - fixing coding style and identation
  - fixing some typos
  - using a better name for the property in tcallcandidates which holds the symbols created for anonymous parameter values
2022-04-20 18:59:31 +02:00
Sven/Sarah Barth
d32134dd1a * fix #39664: ensure that the 8- and 16-bit signed overloads of IntToHex return the correct number of digits
+ added test
2022-04-19 14:24:00 +02:00
florian
43b4b34395 * disallow offsetof trick for types involving implicit dereferences, resolves #39667 partially 2022-04-14 17:06:15 +02:00
florian
62f21ae60d + recurse into multiple subscription nodes when calculating contant @... expressions, resolves #39665 2022-04-13 21:32:06 +02:00
Pierre Muller
a939c0ccd4 Add several tests for 127 max ID length, related to bug report #39661 2022-04-13 15:15:18 +00:00
florian
4c5fc2f958 * patch by Rika: avoid that capacity of TQueue grows to much for certain
usage patterns, resolves #39662
2022-04-12 17:36:42 +02:00
Sven/Sarah Barth
815734c47a * fix #32034 and fix #39656: in a for-in-loop with an array constructor enforce the type of the loop variable for the elements
+ added tests
2022-04-08 17:40:36 +02:00
florian
54dccaaad1 * do not crash in case of too many $push directives, resolves #39652 2022-04-07 22:51:30 +02:00
florian
6bbefcae9e * check more cpuid flags in the cpu units 2022-04-04 22:55:05 +02:00
florian
81d7e28a87 + test for #39627, together with the last merge request it resolves #39627 2022-04-03 15:08:24 +02:00
florian
ff64dacf25 + slowcpu define 2022-04-03 15:01:36 +02:00
Jonas Maebe
9813eb9048 AArch64 asm reader: add support for fpcmp(e) conditions
Resolves #39643
2022-04-03 13:40:21 +02:00
Jonas Maebe
b1f85792d7 Symbolic constants: don't range check on in use in typed constants
Same as 3da54dcf9f, but this type when used in type constant definitions
like record fiels
2022-04-03 11:20:10 +02:00
Jonas Maebe
3da54dcf9f Symbolic constants: don't range check on use
If these constants are defined with an explicit type, they are already
truncated/checked at that point. If we range check them again on use, we
may get errors because at that point there is no explicit type cast
any more.
2022-04-02 13:26:44 +02:00
florian
4718029fe0 * do not throw an error if syscall is used with a syntax not applicable for the current
target, resolves #39640
2022-03-30 23:07:34 +02:00
ccrause
405523ace2 Added test cases for AVR shift by compile time constant. 2022-03-30 20:48:52 +00:00
inoussa
27ed2808dc Unicode 14, Unicode Collation Algorithm 14, CLDR 40 support. 2022-03-15 10:19:15 +00:00
Pierre Muller
2f28c5596f Regenerate all Makefile's to fix problem on x86_64 linux 2022-03-07 23:46:15 +00:00
Pierre Muller
ad2ac98858 Update Makefile's 2022-03-07 22:35:29 +00:00
florian
ae89261008 * prevent that a absolute symbol references itself, resolves #39604 2022-03-06 22:01:56 +01:00
florian
39627cbdfb + AVX512VBMISupport and AVX512VBMI2Support 2022-03-05 20:35:25 +01:00
florian
ac53225817 * test for already resolved issue #38874 2022-03-03 21:24:43 +01:00
florian
2b66f60a88 * do not throw an internal error in case of a misplaced string, resolves #39609 2022-03-02 23:09:53 +01:00
florian
9e3f647333 * var, type, threadvar, const sections require also in classes etc. at least one declaration, resolves #39599 2022-02-25 21:56:52 +01:00
Sven/Sarah Barth
92eb260521 + support for generic forward declarations fixes #39582, so add a test for it 2022-02-18 17:54:36 +01:00
Sven/Sarah Barth
c14c3ec98f + support for generic forward declarations fixes #39581, so add a test for it 2022-02-18 17:54:36 +01:00
Sven/Sarah Barth
2a5023508a + add support for forward declarations of generic classes and interfaces (any implicit pointer type really); fixes #34128 2022-02-18 17:54:23 +01:00
Sven/Sarah Barth
b5ce98fec7 + add C/C++ object files for aarch64-win64 compiled with LLVM 13.0.0 2022-02-18 15:23:00 +01:00
florian
67fedc6b5b * handle frac(+/-Inf or Nan) correctly in the software implementation, resolves #39584 2022-02-17 22:00:27 +01:00
florian
9ad2bdcecd + patch by Bart B: TBucketList threw access violations after Clear, resolves #39565
+ test
2022-02-16 23:00:02 +01:00
Pierre Muller
4da4c96349 Regenerate Makefile's with mips gcc fixes and new enabled mips64-linux target 2022-02-15 15:45:15 +00:00
florian
680a5b94ff + test for last commit (44094dba2f) 2022-02-14 22:54:36 +01:00
florian
34630c2ef9 * properly set types for currency divisions, resolves #38717 2022-02-13 22:47:38 +01:00
Nikolay Nikolov
21593942a1 * regenerate all makefiles with the latest fpcmake 2022-02-13 15:26:54 +02:00
Jonas Maebe
b97c8bdf55 testobj3: fix test
Use RTL StringRefCount instead of local GetRefCount that only supports some
platforms and depends on the internal layout of ansistring headers
2022-02-12 15:25:19 +01:00
Nikolay Nikolov
2d5f0fbde0 Merge remote-tracking branch 'origin/main' into unicodekvm 2022-02-12 09:28:38 +02:00
Nikolay Nikolov
2c0f10d988 * when adding WebAssembly object info, traverse through current_module.used_units,
as well as the usedunits global. This resolves #39543
2022-02-12 08:32:48 +02:00
florian
79cf1dd9cf + store also ecx and edx after cpuid call with eax=7
+ test VNNI and BIGALG instructions
2022-02-07 21:22:16 +01:00
Nikolay Nikolov
39daa64949 Merge remote-tracking branch 'origin/main' into unicodekvm 2022-02-06 16:35:22 +02:00
Pierre Muller
7a444281e8 Retry incase of thread initialization failure 2022-01-31 22:40:09 +01:00