J. Gareth "Curious Kit" Moreton
0418078805
* Added unsigned versions of the "tval" tests
2024-01-13 22:24:08 +00:00
J. Gareth "Curious Kit" Moreton
e6d32f9f36
* Added new "tval2" test that assigns constant string symbol
2024-01-13 22:24:08 +00:00
J. Gareth "Curious Kit" Moreton
d8079ea239
* New "tval1" test to verify that Val with constants works properly
2024-01-13 22:24:08 +00:00
Sven/Sarah Barth
bb5b9acbb2
* ensure that TObject.FieldAddress returns the same values as accessing the RTTI directly
2024-01-12 23:49:46 +01:00
Nikolay Nikolov
a8b4c0772c
* fixed bug that caused 'c in ['a'..'z']' to fail on the WebAssembly target, when code is compiled with {$packset 1}
2024-01-10 03:11:13 +02:00
Sven/Sarah Barth
98a25439c3
+ add a test that checks for correct working of the legacy method table
2024-01-07 18:09:51 +01:00
florian
94a56ba3d5
+ test from Rika for merge request 566
2024-01-06 22:18:30 +01:00
Michaël Van Canneyt
a98462835e
* Extended RTTI tests
2024-01-02 07:24:31 +01:00
Sven/Sarah Barth
7eea850726
* TVmtFieldEntry.FieldOffset needs to be SizeUInt instead of PtrUInt, so that it works correctly on the various memory models of i8086 as well
...
+ added test
2024-01-02 07:09:19 +01:00
Sven/Sarah Barth
ad61db2ff5
* allow a nested function that calls itself can be converted to a function reference
...
+ added test
2023-12-30 14:47:38 +01:00
Sven/Sarah Barth
74833bda09
* split the two error cases of tanonfunc25 into two different tests
2023-12-30 13:58:09 +01:00
Sven/Sarah Barth
787454d5b2
* correctly handle managed function results when converting a global or nested function to a function reference
...
+ added test
2023-12-29 20:55:37 +01:00
Jonas Maebe
958f30f192
webtbs/tw10641.pp: skip for Darwin (it does not support these relocations)
2023-12-04 22:52:39 +01:00
Jonas Maebe
24fcd05e8c
LLVM: only round currency values when storing them back to memory
...
Resolves #40550
2023-12-04 22:52:39 +01:00
Karoly Balogh
679f2f75b3
human68k: regenerated Makefiles
2023-11-30 23:43:27 +00:00
Jonas Maebe
2db4cae7aa
nested procvars: support assignments when switch not active
...
Support assigning one nested procvar to another even when the nestedprocvars
modeswitch is not active. This can happen when the type was declared in a
different unit that was compiled with this modeswitch, or in internally
generated wrapper code (which uses "pure" objfpc mode)
2023-11-25 22:35:55 +01:00
Rika Ichinose
a55da71b23
Add tests for IndexQWord, and shorten tindex.pp.
2023-11-18 21:54:05 +00:00
Jonas Maebe
340d389e20
cpptcl1.o: recompiled with -fno-exceptions
...
As identified by @modersohn, resolves #40501
2023-11-16 23:03:13 +01:00
J. Gareth "Curious Kit" Moreton
cc3f4508fd
* a64: New CG tests for evaluating correct EON instructions
2023-11-08 21:07:00 +00:00
Sven/Sarah Barth
3f1d62af8e
* fix #40504 : always provide the global enum symbol for anonymous enum types (e.g. as part of a set)
...
+ added test
2023-11-07 20:33:55 +01:00
Sven/Sarah Barth
68668c649e
* fix #40500 : do a for-in on a string variable using low(strvar) to high(strvar) so that zero based strings are handled correctly
...
+ added test
2023-11-07 20:28:15 +01:00
Jonas Maebe
0ca260e08c
LLVM: fix currency parameters passed on the stack on x86-64
...
Resolves #40496
2023-11-05 11:30:19 +01:00
florian
de69f1d858
* moved files to appropriate location
2023-11-01 10:09:40 +01:00
Rika Ichinose
dba8138175
Refactor promotional features of StrUtils.
2023-11-01 09:02:27 +00:00
florian
b2a13077c0
* redefine also PPChar and PPPChar depending on the string type mode, resolves #40491
2023-10-31 23:13:22 +01:00
Rika Ichinose
e00ab51185
On i386 and x86_64, add cpu.CPUID — high-level wrapper to CPUID instruction, and cpu.CPUBrandString — convenience for CPUID leaves 80000002, 80000003, and 80000004.
2023-10-31 21:20:45 +03:00
Michaël Van Canneyt
9f3a50315b
* Enable function references and anonymous functions in Delphi mode
2023-10-31 08:42:28 +01:00
J. Gareth "Curious Kit" Moreton
5e2f088a5b
* "blea" test will now display the CPU name (can be disabled by removing {$DEFINE DETECTCPU})
2023-10-29 10:26:52 +00:00
J. Gareth "Curious Kit" Moreton
a353d7c65b
* New LEA bench test
2023-10-29 10:26:52 +00:00
Rika Ichinose
9382070454
Refactor and fix a bug in Boyer-Moore.
2023-10-28 06:56:15 +00:00
J. Gareth "Curious Kit" Moreton
286c823e27
* Tests for i40474 and i40475 (BIC issue on AArch64 and incorrect shifter/extender mnemonics respectively)
2023-10-22 13:13:58 +00:00
J. Gareth "Curious Kit" Moreton
6b569d0ada
* ARM: New test to evaluate ADR encoding error
2023-10-22 12:04:05 +00:00
Sven/Sarah Barth
287ef8e79a
* fix #40410 : allow specialization of a procdef also inside exception handlers + added test
2023-10-20 19:54:05 +02:00
Sven/Sarah Barth
f88ee7b2d8
* fix #40451 : load the assembly symbol into a separate operand so that an offset already contained in oper isn't discarded + added test
2023-10-20 19:54:04 +02:00
Pierre Muller
8c620daf33
Remove readln and add NORUN marker for tw40453 test
2023-10-15 11:22:05 +00:00
florian
94cb1c3a49
* correctly name nested enum type debug symbols, resolves #40462
2023-10-10 23:16:31 +02:00
Pierre Muller
ad637e8f09
Fix range error in tstruth2bu.pp test
2023-10-10 16:33:44 +00:00
florian
a3f221e189
* allow set type to be a generic parameter, resolves #40453
2023-10-06 21:40:25 +02:00
Michaël Van Canneyt
ab4db7f475
* Fix OnChange being fired twice when adding an object. Fixes issue 40261
2023-10-02 22:17:59 +02:00
Frederic Kehrein
ba55932929
Fixing trying to consume ID for anonymous switch field
2023-09-28 22:42:49 +00:00
florian
803a6fea24
* throw an error if instructions which needs an operand size is used with one operand being a reference without size
2023-09-16 23:25:31 +02:00
Jonas Maebe
decbac8e8b
Issue #40392 ; replaced test with correct one
2023-09-14 21:28:30 +02:00
Jonas Maebe
c96641f901
LLVM: fix double init/fini of local managed variables accessed from nested functions
...
resolves #40392
2023-09-14 15:38:21 +02:00
Rika Ichinose
324b77f317
Let fpc_dynarray_concat(_multi) reuse the only nonempty input or append to the destination if possible.
...
Improve fpc_dynarray_delete.
2023-09-12 20:58:50 +00:00
Jonas Maebe
bcf77c70fd
default parameter values: fix crash
...
Fix crash when declaring default parameter values while current_procinfo
is not yet valid
resolves #40413
2023-09-11 21:35:07 +02:00
Pierre Muller
64a7bc13d6
Try several ports before failing
2023-09-10 11:11:35 +00:00
Sven/Sarah Barth
3b455c1cf2
* fix #40390 : implement support for handling parameter names (including __SELF and __HIGH(<identifier>)) that resolve directly to registers
...
+ added tests
2023-09-08 17:30:32 +02:00
Sven/Sarah Barth
7f290c27ed
* fix name of test
2023-09-08 16:11:13 +02:00
Sven/Sarah Barth
2df57e117b
* fix #40381 : also check for hints when parsing the parameters of a routine (including open array parameters) or the result type of a function
...
+ added tests
2023-09-08 15:54:08 +02:00
Sven/Sarah Barth
8fa439e64d
+ add some tests for hint directives in context of arrays (both with the element and the index) that check that the hint is indeed generated
2023-09-08 15:23:55 +02:00
Sven/Sarah Barth
98fc58b229
+ add a test that check for correct functionality of all the SwapEndian() overloads
2023-09-08 15:02:51 +02:00
Pierre Muller
0210254b2d
Fix wrong index error
2023-09-07 22:54:55 +02:00
florian
7e69f399b3
* patch and test by Rika: fixes self inserts in Insert(x, dynarray) and improves Insert(x, dynarray), resolves #40417
2023-08-29 22:23:22 +02:00
Rika Ichinose
1c4151d82e
Remake AdjustLineBreaks.
...
This version is correct and supposedly better in other ways (except for a bit of clarity maybe).
2023-08-29 20:08:03 +00:00
florian
15e7dd3d9f
* patch and test by Rika: Redirect StrUtils.RPos to StrUtils.RPosEx, fix a bit, improve a bit, resolves #40394
2023-08-27 22:33:00 +02:00
florian
fb391d571a
* another test renamed
2023-08-27 10:48:15 +02:00
florian
e1f7b50985
* renamed tests so they are actually run
2023-08-27 10:09:40 +02:00
J. Gareth "Curious Kit" Moreton
1bcf4a5a8c
* New test to detect SSE/AVX optimisation error
2023-08-24 19:41:41 +00:00
Jonas Maebe
1be7416816
default value: fix issue with inlining
...
Ensure the mangled name is always the same
Resolves #40404
2023-08-20 22:08:47 +02:00
ccrause
9440b17eea
[AVR] Add command line options to selectively remove portions of the RTL startup code.
2023-08-15 21:33:58 +00:00
Jonas Maebe
50040a2cab
default values: store as staticvarsyms in staticsymtable
...
Previously, they were stored as localvarsyms in either the localsymtable
(for procedures/functions) or as localvarsyms in the staticsymtable (for
init/fini code of units/main programs). The latter was a hack (staticsymtables
normally cannot contain localvarsyms) and caused the temp allocator to also
allocate them as a local in fini code even if the default was only in the init
code.
The new approach ensures at most one copy gets allocated per unit, it doesn't
require explicit initialisation (since staticvarsyms are in bss -> zeroed by
default), gets rid of the localvarsyms in staticsymtables, and as a bonus
solves an issue with inconsistent LLVM debug information for the localvarsym
in init/fini code (since the staticsymtable is shared between the init and
fini code, so was the local, and therefore we generated debug info stating
it was defined in the fini code but within the scope of the init code).
Resolves #40395
2023-08-15 21:13:48 +02:00
florian
cc27a5de78
+ test from Rika for merge request 458
2023-08-14 23:21:25 +02:00
J. Gareth "Curious Kit" Moreton
11957d9a60
* New test, mostly for x86, to detect incorrect TEST/JNE/TEST/JNE optimisation
2023-08-12 23:43:05 +00:00
J. Gareth "Curious Kit" Moreton
6d5876a29c
* New CMOV test at webtbs/tw40307.pp
2023-08-12 20:55:12 +00:00
Michaël Van Canneyt
56a906a421
* Hex2Bin Delphi-compatible overloads. Fixes issue #38712
2023-08-12 14:59:07 +02:00
Michaël Van Canneyt
fd39fd96b3
* Add enumerator for TStringBuilder. Fix issue #37088
2023-08-12 14:33:50 +02:00
Jonas Maebe
13346a42bc
volatile: allow for assignments
2023-08-12 12:04:40 +02:00
Sven Barth
f258d2f498
* regenerate tests/Makefile
2023-08-03 22:35:05 +02:00
Sven Barth
82dd70e72f
* fix parameter alignment on x86_64 when more than 6 parameters are involved (aka the stack is used)
...
+ added test
2023-08-03 22:34:28 +02:00
Jonas Maebe
45339ddc98
tw40324: fix compilation on unix platforms
2023-07-30 22:22:28 +02:00
Michaël Van Canneyt
8ca4afd2d0
* Tests for NAMESPACES directive
2023-07-26 09:55:12 +02:00
Michaël Van Canneyt
6e84d4275d
* Fix for tmarshaller big endianness
2023-07-24 21:51:09 +02:00
Michaël Van Canneyt
b5433100f4
* cwstring for unix
2023-07-23 23:15:55 +02:00
Rika Ichinose
7f4420495b
TMarshal & TMarshaller, strange things from Delphi.
2023-07-22 15:24:27 +02:00
J. Gareth "Curious Kit" Moreton
ae5544db4c
* New test for i40358
2023-07-21 09:24:53 +01:00
Pierre Muller
e1a216a4aa
Add test about bus error generated in sparc compiler
2023-07-16 02:16:56 -05:00
Michaël Van Canneyt
4beda764aa
* Tests for webassembly invoke helper
2023-07-13 07:32:21 +00:00
Michaël Van Canneyt
82ed35ead0
* Test adapted: RTTI is enabled for raw interfaces
2023-07-11 08:36:57 +00:00
Michaël Van Canneyt
d472c920ba
* Hidden thunk class tests for webassembly
2023-07-11 08:36:57 +00:00
Sven/Sarah Barth
c994b5efe8
* fix #39447 : when checking whether the parameters are valid for pointer arithmetic check the *correct* parameter for being valid pointer-like type (I'd say that this was a copy&paste mistake...)
...
+ added test
2023-06-30 17:42:39 +02:00
Sven/Sarah Barth
a20e8b9a3d
* fix #40095 : when searching a suitable constructor for the custom attribute don't allow the return of a procvar which can happen in Mac/TP procvar modes (like Delphi)
...
+ added test
2023-06-30 17:12:56 +02:00
Sven/Sarah Barth
d5c1533377
* fix #40331 : for enumeration with holes (that don't have type information) use the binary comparers
...
+ added test
2023-06-30 16:30:46 +02:00
Sven/Sarah Barth
8592d42afa
* test added for #40332 is supposed to fail
2023-06-30 16:24:20 +02:00
Sven/Sarah Barth
d97d34ee9c
* fix #40332 : apply patch by Rika to avoid a crash when an overload can't be picked outside of a function (e.g. when using intrinsics inside constants)
...
+ added test
2023-06-30 15:35:28 +02:00
Nikolay Nikolov
adf843196a
Merge remote-tracking branch 'origin/main' into wasm_js_promise_integration
2023-06-24 15:08:18 +03:00
Sven/Sarah Barth
f721210638
* fix #40142 and #40324 : don't alias the function name to the $result variable for anonymous functions unless an explicit result name is provided
...
+ added tests
2023-06-23 17:06:41 +02:00
Sven/Sarah Barth
34f1a3ee28
* don't insert anonymous functions into a withsymtable
...
+ added test
2023-06-23 17:02:15 +02:00
Sven/Sarah Barth
7133ad7ecc
* a type helper that inherits from another type helper may extend a unique type helper of the parent's extended type (thus allowing to make the type helper of the original type available for the aliased type)
...
+ added tests
2023-06-23 16:15:33 +02:00
Nikolay Nikolov
5c792c438d
+ disallow using sizeof() and bitsizeof() on WebAssembly reference types
2023-06-20 16:56:47 +03:00
Nikolay Nikolov
fce34eb4bf
+ disallow WebAssembly reference types in records, objects and classes
2023-06-20 15:13:15 +03:00
Nikolay Nikolov
8bd18fc6d3
Merge remote-tracking branch 'origin/main' into wasm_js_promise_integration
2023-06-17 17:11:23 +03:00
Sven/Sarah Barth
0b7a771ca9
* fix #40221 : don't allow a conversion from an anonymous function to a procvar type if compare_defs_ext already rejected them
...
+ added tests
2023-06-16 17:28:50 +02:00
Sven/Sarah Barth
e44a33a78b
+ previous commit also fixes #40143 , #40144 , #40145 , #40308 and #40315 , so add the tests for them
2023-06-16 17:03:51 +02:00
Nikolay Nikolov
2f1ccd6f2a
+ support 'promising last' exports
2023-06-16 11:00:19 +03:00
Nikolay Nikolov
4d62764fa3
+ also allow declaring an external as 'suspending first'
2023-06-13 09:56:44 +03:00
Nikolay Nikolov
0f89852908
+ support 'suspending last' externals as well
2023-06-13 09:34:54 +03:00
Nikolay Nikolov
d2396a848b
+ added a basic JS promise test
2023-06-11 16:59:29 +03:00
Nikolay Nikolov
8eea58f649
+ support WebAssembly reference types as WebAssembly globals
2023-06-11 10:31:12 +03:00
Nikolay Nikolov
64569df017
* disallow passing WebAssembly reference types as untyped out parameters as well
2023-06-11 08:58:03 +03:00
Nikolay Nikolov
6ff566350c
* disallow passing WebAssembly reference types as untyped var/constref/const parameters
2023-06-11 08:56:27 +03:00