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
Nikolay Nikolov
acf8fe59d0
* fixed program name in test
2023-06-11 08:32:25 +03:00
Nikolay Nikolov
f670ebbb28
* disallow WebAssembly reference types to be declared as var, constref or out parameters
2023-06-11 08:17:06 +03:00
Nikolay Nikolov
8cd6606970
+ support nil comparison of WebAssembly reference types (externref and funcref)
2023-06-11 07:17:04 +03:00
Nikolay Nikolov
9daabb2123
+ support using nil constants for setting values of WebAssembly reference types (funcref and externref)
2023-06-11 06:23:02 +03:00
Nikolay Nikolov
7abe3eeb84
+ also test that pointers cannot be converted to externref implicitly
2023-06-11 05:56:49 +03:00
Nikolay Nikolov
a47a1c093a
* disallow conversion between regular pointers and WasmExternRef
2023-06-11 05:28:39 +03:00
Nikolay Nikolov
021c1a7bb4
* fixed test's program name
2023-06-11 04:29:18 +03:00
Nikolay Nikolov
fcd5ecfcce
+ some basic tests for WebAssembly funcref types added
2023-06-11 04:27:05 +03:00
Nikolay Nikolov
8743f72f11
+ disallow taking the address of WebAssembly externref type
2023-06-11 04:01:58 +03:00
Nikolay Nikolov
65b175cebd
+ simple test for WasmExternRef
2023-06-11 03:35:25 +03:00
Sven/Sarah Barth
d24eeffa2b
* fix #40293 : have the SysUtils unit use the TArray<> declaration in the ObjPas unit instead of declaring it again
2023-06-03 18:10:45 +02:00
Pierre Muller
3bb2586269
Fix for sparc64 specific code generation bug report #40252
2023-05-26 17:10:23 +02:00
J. Gareth "Curious Kit" Moreton
0a89e68d55
* Added test to attempt to catch access violation caused by faulty optimisation (i40165)
2023-04-30 22:25:55 +00:00
marcoonthegit
e74d89ce62
* patch by Dean Mustakinov to improve commandline quote handling on Windows, resolves #40189
2023-04-29 13:11:11 +02:00
Pierre Muller
148e4abd0a
Add aarch64-freebsd c object files
2023-04-24 18:23:01 +02:00
Pierre Muller
11a390117c
Improve test for unaligned access
2023-04-21 20:46:11 +00:00
florian
e40f997a40
* another patch to fix #40223
2023-03-31 23:45:45 +02:00
florian
6663d5ca63
* do not replace index registers with esp/rsp, resolves #40223
2023-03-30 21:36:35 +02:00
Dmytro Bogatskyy
327aac7f24
Add aarch64-iphonesim target
2023-03-27 18:45:00 +00:00
Jonas Maebe
12bde4e903
WPO: fix dead code detection, and handle procvars
...
Extend dead code detection to not only look for the main mangled name, but also
for any aliases before deciding that a routine has been dead-stripped.
Assume objects/classes can also be constructed if the address of one of their
constructors or of the TObject.NewInstance class method has been taken.
Resolves #40204
2023-03-24 21:22:18 +01:00
florian
3e3b96e088
* fix of Erroneous reading of the value of the StackLength variable at program start based on issue report by Sergey Larin, resolves #40211
2023-03-21 22:37:40 +01:00
florian
488c389b9b
+ support FILEEXISTS(...) in preprocessor expressions, resolves #39527
...
+ tests
* tscannerfile.readpreproc sets preproc_pattern correctly for quoted strings
2023-03-20 23:17:09 +01:00
florian
0d3ec87492
* also initalize default helper variables of initialization sections, resolves #40183
2023-03-19 21:19:10 +01:00
Jonas Maebe
0e46041717
WPO: also consider NewInstance to detect class instancing
...
Resolves #40200
2023-03-18 21:18:25 +01:00
florian
64319dc019
* PopCount takes care only of the bit pattern, so take the uvalue to avoid an internal error, resolves #40190
2023-03-17 22:30:36 +01:00
Sven/Sarah Barth
6aab856213
+ add test for already fixed #37380
2023-03-15 23:39:59 +01:00
Sven/Sarah Barth
c1ecfc323a
* ensure that a procvar (especially a "REFERENCE TO") begins either with FUNCTION or PROCEDURE
...
+ added test
2023-03-15 23:39:59 +01:00
florian
f0ac02cb2e
* patch by Rika: Remove wrong paranoia (and add correct one (and shorten in general (and fix a bug in))) fpc_dynarray_setlength, resolves #40193
2023-03-12 22:15:55 +01:00
Sven/Sarah Barth
d6d693696e
+ add test for fixed #40077
2023-03-06 23:29:04 +01:00
Sven/Sarah Barth
4823ca7114
* fix #40074 : adjust Generics.Defaults to make use of the new ConstParamIsRef<> utility function to correctly determine how a generic binary parameter needs to be compared
2023-03-06 23:24:36 +01:00
florian
99b01f6634
* second mul might get called with a zero operand if the other has a side effect,
...
handle this correctly in ti386addnode.second_mul64bit, resolves #40182
2023-03-06 23:19:34 +01:00
Sergey Larin
62c24b3756
Added test to check WideChar const to UTF8String const conversion
2023-02-24 22:59:39 +00:00
J. Gareth "Curious Kit" Moreton
090e4fea96
* New test for i40122
2023-02-19 20:22:49 +00:00
florian
811c683775
* set rangedef of dyn. arrays correctly, resolves #40149
2023-02-15 22:14:55 +01:00
Jinyang He
783bbb66f9
Update Makefiles
2023-02-05 19:18:48 +00:00
Jinyang He
176462c39a
add loongarch64 tests support
2023-02-05 19:18:48 +00:00
florian
a9f9996dc8
+ support leap seconds in TryEncodeTime, resolves #40121
2023-01-30 22:40:15 +01:00
Rika Ichinose
b38d13577f
Make Utf8CodepointLen adhere to the Unicode standard somewhat more and know all of the Unicode 15.0 combining characters.
2023-01-30 13:51:31 +00:00
florian
09b435cdab
* transform a/a only into 1 if fastmath is on
2023-01-29 13:49:33 +01:00
florian
8ef0f59025
* mark constant symbols used in preprocessor expressions as used, resolves #40108
2023-01-24 22:36:26 +01:00
florian
ec28b7586c
+ support procvar[] in tp/mac procvar mode if the procvar returns an array type
2023-01-22 16:24:29 +01:00
florian
55deefbab5
* do not crash on illegal with statement, resolves #40118
2023-01-18 23:03:28 +01:00
florian
5598ffc210
* x86_64: warn only on negative offsets if rsp is involed, second part of #40113
...
+ tests
2023-01-17 23:09:42 +01:00
florian
8b08486fa1
* do not warn on lea e/rsp with negative address offset, part of #40113
...
+ tests
2023-01-15 23:06:05 +01:00
J. Gareth "Curious Kit" Moreton
b997e41366
* New tests that evaluate CMOVcc using a reference even if IfRefSafe returns False because the previous condition reads it
2023-01-10 22:23:58 +00:00
J. Gareth "Curious Kit" Moreton
891723111c
* New test for extended CMOVcc optimisations
2023-01-10 22:23:58 +00:00
florian
899bdc0016
* first approach to fix tfrldexp on i386-win32
2023-01-06 23:03:40 +01:00
florian
cfbdf90ab0
* patch by Rika to optimize ArcCos, resolves #40078
2023-01-02 18:56:41 +01:00
Sven/Sarah Barth
e1288897f3
* fix #40031 : with support for inline specializations it no longer makes sense to make the parameter symtable of a procedure variable type readonly as there *are* defs that are added to it
...
+ add adjusted test
2022-12-30 23:32:00 +01:00
Sven/Sarah Barth
4510945465
* fix #40062 : ensure that Self is only added to anonymous functions when dealing with method pointers
...
+ added test
2022-12-30 23:32:00 +01:00
Sven/Sarah Barth
5d7e3ca240
* fix #40060 : ensure that Self is not added for anonymous functions that are part of a static class method
...
+ added test
2022-12-30 23:32:00 +01:00
Sven/Sarah Barth
4c6338207f
* fix #40061 : the Self of types that aren't implicit pointers (recods, TP-style objects, primitive types (for helpers)) needs to be stored as a Pointer in the Capturer so that modifications are correctly visible
...
+ added tests
2022-12-30 23:32:00 +01:00
florian
7affd78904
* do not throw an internal error on typed constants with wrong element count, resolves #40066
2022-12-30 21:53:04 +01:00
florian
69eebe4c0c
+ patch by Rika to implement missing TPointF methods, resolves #40057
...
+ test by Rika
2022-12-29 15:20:49 +01:00
florian
571e0c39cc
* increase time out
2022-12-24 17:25:42 +01:00
florian
3203eac6d3
+ missing -O4 option added
2022-12-24 17:07:27 +01:00
florian
28b4189a9a
* mess cleaned up
2022-12-23 18:16:52 +01:00
florian
30e0df384d
* second part of #40041 fixed
...
+ tests
2022-12-22 22:41:39 +01:00
florian
e0fef23d77
* properly transform a+const1-const2 into a+const1+(-const2), resolves #40041
2022-12-21 22:34:46 +01:00
Michaël Van Canneyt
68cdd7073f
* Patch from Ondrej to implement SameArray
2022-12-19 09:56:50 +01:00
Ondrej Pokorny
d1f999100b
Add SetToArray and ArrayToSet functions for more general RTTI Set handling
2022-12-18 13:32:15 +00:00
florian
7917cbed22
+ (negative) test for cmov/j/set without condition
2022-12-12 22:56:41 +01:00
florian
c92056fcac
* patches by Rika: Fix a bug in LdExp(extended), and test Math.Frexp/Ldexp implementations instead of own, resolves #40030
2022-12-11 20:04:46 +01:00
florian
bf2911a562
+ test for #40025 by Rika, resolves #40025
2022-12-10 21:35:07 +01:00
Pierre Muller
96c63c4443
Fix fcmove instruction for external assemblers
2022-12-10 19:59:05 +00:00
Pierre Muller
a592636d9c
Use CMOV and FCMOV with a condition, the parser should reject without a condition
2022-12-10 17:06:35 +00:00
Jonas Maebe
851af5033f
Darwin/AArch64: adjust alignment info of custom-aligned paralocs
...
Resolves #40019
2022-12-06 21:46:26 +01:00
J. Gareth "Curious Kit" Moreton
f54917d600
* New test to catch stack overflow in compiler ( #40010 )
2022-12-04 05:52:08 +00:00
Sven/Sarah Barth
ebb4de1441
* mark test as NORUN
2022-12-03 19:41:34 +01:00
Sven/Sarah Barth
7a34677b2a
* as long as the type passed into a TypeInfo() is not an undefined or error def the resulting value will always be constant at compile time, so it can be compared to another then no matter if typenode or not
...
+ added tests
2022-12-02 17:47:15 +01:00
Pierre Muller
b202fb2b0a
Fix two tests for ELFV2 powerpc64 ABI
2022-12-01 00:05:05 +00:00
florian
b835005941
* proper naming for test, resolves #40013
2022-11-30 22:17:58 +01:00
florian
96d4bd19ac
* use bzhi only (if at all) for in_and_assign_x_y and not other in_*_x_y operations, resolves #40016
2022-11-30 22:16:21 +01:00
J. Gareth "Curious Kit" Moreton
5704626762
* New test to catch issue identified in #40003
2022-11-28 21:43:50 +00:00
florian
247423400f
* create muln with create instead of create_internal when converting "n - n mod const)" so pass1 works properly, resolves #40004
2022-11-24 22:43:27 +01:00
florian
e7fda48327
+ missing halt instructions
2022-11-23 19:01:32 +01:00
Pierre Muller
d38c24fee7
Add test for avx2 support using cpu unit function avx2support
2022-11-22 22:48:35 +01:00
florian
0ba4cee279
* convert n-n mod const into n div const*const, resolves #39615
2022-11-22 22:41:58 +01:00
J. Gareth "Curious Kit" Moreton
735f297f5b
* Range check fixes to BZHI tests
2022-11-21 14:44:39 +00:00
florian
3b43bd027c
* calculate life info for if nodes correctly if the then branch is empty, resolves #39992
2022-11-13 22:28:08 +01:00
Pierre Muller
0f30af07e5
Fix test to succeed for big endian mips
2022-11-12 13:16:51 +00:00
florian
3e6d4bf1cc
* new cpu feature tests
2022-11-09 23:09:07 +01:00
florian
12aa48602b
+ CMOVSupport function
2022-11-08 21:15:11 +01:00
Sven/Sarah Barth
9e3483fbeb
* fix #39977 : allow a capturer to access any method independant of visibility as the visibility checks are supposed to have been done before the captured symbol was converted
...
+ added test
2022-11-06 22:01:49 +01:00
Sven/Sarah Barth
b051e7667c
* fix #39978 : ensure that Self is captured when a method of the current class is captured into a function reference
...
+ added test
2022-11-06 22:01:49 +01:00
Sven/Sarah Barth
d221f42a57
* ensure that the correct overload is picked for function reference parameters
...
+ added tests
2022-11-06 22:01:49 +01:00
Sven/Sarah Barth
a714e2ff35
* fix #39981 : retrieve the symbol that returns the desired procdef/procvardef not maybe the Self or something else as we need that symbol to differentiate the procdefs
...
+ added test
2022-11-06 22:01:48 +01:00
Rika Ichinose
7243befdb7
Better TBits.
2022-11-06 20:55:38 +00:00
J. Gareth "Curious Kit" Moreton
0dbf40a24c
* Added new tests for BZHI optimisations
2022-11-06 15:42:09 +00:00
Ondrej Pokorny
05c45486e8
fcl-image/pasjpeg: handle Exif orientation flag automatically
2022-11-02 09:25:20 +00:00
florian
3f7bf0fd70
* stop generation of typed array constants if the size does not match, resolves #39980
2022-11-01 21:16:31 +01:00
florian
0eee70ac81
* fix FindUnitSymtable for exception symtables, resolves #24801 and #39974
...
* more consistent naming of exceptsymtable enumeration symbol
2022-10-31 20:19:10 +01:00
Pierre Muller
e1b3c03daf
Add test for mips code generation bug
2022-10-29 21:34:00 +01:00
Sven/Sarah Barth
e050a019a2
* fix #29859 : ensure that it's correctly passed down into generate_specialization whether a unit name was provided for the specialization and if so search the generic only in that unit
...
+ added tests
2022-10-28 17:40:53 +02:00
florian
c75bb80b14
* more debug messages
...
* better exit codes for test
2022-10-26 23:20:18 +02:00
Pierre Muller
49ddf159b2
Fix internalerror generated with riscv32 compiler.
...
Fix
Compiling ./fcl-passrc/src/pscanner.pp
pscanner.pp(2512,40) Fatal: Internal error 2006010801
error generated for riscv32-linux target after commit #c83e6c34
by correcting expectloc for riscv32 for 64-bit comparisons.
Add a small test.
2022-10-25 18:42:14 +02:00
florian
3fa77a4f62
* fix life information propagation for while loops, resolves #39971
...
* warnings/errors fixed which are caused by the new life information propagation
+ test
2022-10-24 22:13:43 +02:00
J. Gareth "Curious Kit" Moreton
fa76baa3d4
* New test to evaluate i39918
2022-10-22 13:07:16 +00:00
florian
8f269d4540
* check for proper exception type
2022-10-22 15:05:52 +02:00
florian
2b48afe151
* check if optinfo is assigned before using it, resolves #39913
2022-10-21 21:14:39 +02:00