Michaël Van Canneyt
762d1d2f1e
* New testsuite database structure
2025-01-15 23:17:19 +01:00
Michaël Van Canneyt
33cb23e99b
* first complete working version
2025-01-15 22:35:50 +01:00
Sven/Sarah Barth
599b187589
* fix #40979 : don't recurse further into the nested hierarchy for code generation if the function is generic
...
+ added test
2025-01-14 20:38:37 +01:00
Michaël Van Canneyt
a60b1f2bc7
* First working version
2025-01-14 09:55:28 +01:00
Michaël Van Canneyt
5530e6626d
* New test DB
2025-01-08 22:59:09 +01:00
florian
e698a88b62
* make small test lest strict
2025-01-08 22:18:44 +01:00
florian
5ec3e6fd14
* restore old error value
2025-01-06 18:22:40 +01:00
Rika Ichinose
691dc59a2a
Faster trandg.pp.
2025-01-06 16:42:32 +00:00
florian
14dbb7cb76
* test also with FASTMATH on and adapt for tests not supposed to work (they include the use of NaN)
2025-01-06 15:21:18 +01:00
florian
1ed23e5472
* min/max optimization is carried out only if -O2 is used
2025-01-06 15:21:18 +01:00
Sven/Sarah Barth
bb8098adea
+ add test for already fixed #39844
2025-01-04 11:19:20 +01:00
Sven/Sarah Barth
7991eba0d1
+ add test for already fixed #39841
2025-01-04 11:05:39 +01:00
Sven/Sarah Barth
50b160651c
* fix #38122 in a more correct way than previously done: instead of adjusting the methodpointer node when it's a deref node adjust what value is stored in a temp if a call node is encountered: store the pointer value, not the pointed to value to avoid the reference getting lost
...
+ added test (note: the test fails at least on x86_64-win64 due to some different reason :/ )
2025-01-04 10:31:26 +01:00
Sven/Sarah Barth
ead882f58d
* fix #40876 : correctly check for generic constant parameters without concrete value
...
+ added test
2025-01-02 13:24:46 +01:00
Sven/Sarah Barth
ceed183e33
* declare Msgs parameter as "const" for better code generation
2025-01-01 16:15:47 +01:00
Sven/Sarah Barth
cffb0a0845
* use StartsStr() instead of a manual copy to check whether the line starts with the message id
2025-01-01 16:13:48 +01:00
Sven/Sarah Barth
2c9bbc932a
* the message id might not be at the start of the line, but after a visibility specifier followed by a colon and space
2025-01-01 15:55:04 +01:00
Jonas Maebe
540807c5c8
WPO: don't crash on TP-style objects with only abstract virtual methods
2025-01-01 15:23:06 +01:00
Sven/Sarah Barth
70c153123b
+ add tests for the adjusted message handling, especially one that checks that messages inside generics can be silenced correctly
2024-12-31 18:32:17 +01:00
Sven/Sarah Barth
024d2bfd73
* extended RTTI now includes static properties, so adjust the test to reflect this
2024-12-29 20:07:29 +01:00
Sven/Sarah Barth
3b7d9956ca
* fix #40653 : don't allow the use of a class during its declaration as parent for a nested class (Delphi compatible)
...
+ added test
2024-12-27 16:32:06 +01:00
Sven/Sarah Barth
dedc018beb
* when parsing generic parameter types allow the use of generics that are part of the current specialization stack (this can be the case if a generic is used inside itself as a type parameter for a specialization)
...
+ added tests
2024-12-27 16:32:06 +01:00
florian
a7dab71da1
* compiled with clang-1205.0.22.9
2024-12-26 18:53:00 +01:00
Sven/Sarah Barth
79ff74ac44
* fix #41007 : only unlink typesyms from their typedefs when releasing an unused implicit specialization if the typesym was created for the implicit specialization
...
+ added test
2024-12-26 18:08:09 +01:00
Sven/Sarah Barth
32b3477fe2
* fix #41063 : don't add classrefdefs or objectdefs to the WPOInfo if they are declared locally (e.g. capturer instances)
...
+ added test
2024-12-26 18:08:09 +01:00
Sven/Sarah Barth
291d2e911a
+ add test for fixed #40011
2024-12-26 18:08:09 +01:00
Sven/Sarah Barth
9de0025394
* fix #41074 : adjust conversion level of class/interface to pointer and class to interface conversions so that sub class to class conversions take precedence
...
+ added tests
2024-12-26 15:03:14 +01:00
Sven/Sarah Barth
310afcd783
* fix #41075 : don't allow @<anonfunc>
...
+ added tests
2024-12-26 12:48:44 +01:00
Sven/Sarah Barth
aa0ccd8b59
* fix #41072 : proc_to_procvar_equal_internal() might be passed a procvar in case of "procvar := @<anon func>", reject that as incompatible
...
+ added test
2024-12-25 22:30:30 +01:00
florian
e7ae57b0cd
* skip test on RiscV64
2024-12-25 18:35:46 +01:00
florian
cdce37b8be
+ SMALL_TEST define for slow CPUs/soft float
2024-12-24 16:38:30 +01:00
florian
faae36afa1
* formatting
2024-12-24 16:38:30 +01:00
florian
c70e82bea6
* libraries must be marked with %norun
2024-12-23 16:11:45 +01:00
florian
553a1b968d
* formatting
...
+ test for issue #41066 which was already resolved previously
2024-12-23 16:11:03 +01:00
florian
d147488133
* partly revert 8cd6606970
, resolves #41052
...
(cherry picked from commit 854d4e6f4a5b53040160f8921d0089167f6b00be)
2024-12-23 14:27:48 +01:00
florian
24faf6e0f1
* proper naming
...
- remove readln
2024-12-23 10:55:06 +01:00
florian
493ad0aa73
* compiled by riscv64-linux-gnu-gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
2024-12-20 20:20:39 +01:00
Pierre Muller
81129445c3
Replace tkernel_timespecs by TTimespecArr type to allow compilation with linux RTL using libc
2024-12-20 10:06:17 +00:00
Michaël Van Canneyt
060c06c052
* Test for slice
2024-12-18 21:14:19 +01:00
Michaël Van Canneyt
5632af2afa
* Correctly handle missing extensions for dotted include file names. Fixes issue #41064
2024-12-16 15:12:37 +01:00
Sven/Sarah Barth
5e53c7fd04
+ add test that checks that the Atomic*-intrinsics work correctly inside generics
2024-12-13 22:57:25 +01:00
Sven/Sarah Barth
311c023271
* ensure that any Boolean type can be used for the Succeeded parameter and that there are no unitialized warnings
...
+ added test
2024-12-13 22:57:25 +01:00
Sven/Sarah Barth
6828da9c6c
* fix #41062 : correctly handle atomic intrinsics inside generics
...
+ added test
2024-12-13 22:57:25 +01:00
florian
0265d5d0c9
* test might not be precise enough with fastmath
2024-12-13 22:42:19 +01:00
Sven/Sarah Barth
76a15dbd6c
+ add tests for atomic intrinsics
2024-12-12 22:05:15 +01:00
florian
fbd17b43ac
* test failed only with strength reduction onm so compile with -O3
2024-12-10 22:38:34 +01:00
florian
9d94ccdc38
* set types of start value calculation correctly when doing strength reduction, resolves #41054
2024-12-09 22:30:40 +01:00
Frederic Kehrein
05b73f1523
Postponing building of VMT until inheritance chain is specialized
...
This commit does 3 changes:
1. Introduce new option `oo_inherits_not_specialized` indicating if
somewhere in the inheritance chain of an object there is a non
specialized generic parameter
2. Avoid building the VMT for an object which has a generic parameter in
the inheritance chain (fixes #40983 )
3. When no vmt is build `insert_struct_hidden_paras` usually called as
part of `build_vmt` will be called seperately to add missing
parameters
2024-12-08 17:54:50 +00:00
florian
e471c08cf8
+ SHA512Support
2024-12-07 11:10:34 +01:00
Pierre Muller
3a481d9590
Add explicit -CE option and check that mysqrt returns zero for negative arg
2024-12-03 12:45:53 +00:00
Pierre Muller
564d50ce8e
Check that a normal real division does not generate an exception
2024-12-03 12:09:05 +01:00
florian
04a56e2900
* properly calculate the size of enumeration types having negative elements and a max. value exceeding the upper bound of
...
the elsewhere matching signed type, resolves #41019
2024-11-30 14:43:10 +01:00
florian
3d6710c0e3
* don't see illegal calling conventions for procedure variables, resolves #41041
2024-11-29 21:40:33 +01:00
Michaël Van Canneyt
e1e301dea8
* Add missing methods to thunk class for parent interfaces without RTTI
2024-11-25 11:32:36 +01:00
Michaël Van Canneyt
03f98e749c
* Fix TValue casts, patch by Евгений Савин, fixes issue #41030
2024-11-21 11:51:11 +01:00
florian
4d732b44d4
* correctly calculate the number of labels of a c boolean in case statemnts, resolves #41025
2024-11-20 22:04:58 +01:00
florian
08762ab8f0
* missing part of last commit
2024-11-17 15:03:49 +01:00
florian
c48d8e9708
* write additional info for the tests, might help to identify spurious failures
2024-11-17 14:21:12 +01:00
Sven/Sarah Barth
6ec8441744
* test that SysUtils.Swap<>() doesn't hide System.Swap()
2024-11-17 10:15:44 +01:00
Frederic Kehrein
64c27a86a8
* Adding new generic Extract and Swap function to RTL
...
These allow to move data from one variable to another without triggering
the copy operation. Extract makes use of the newly introduced move
semantic for function results and Swap uses System.Move to not trigger
the copy mechanism.
2024-11-16 22:08:06 +00:00
Frederic Kehrein
ca92c49f8c
* Avoid calling copy operator when moving data from temporary objects
...
When a function returns a managed record, a new temporary object is
created for the result, which is then copied to the real destination.
For managed records with a deep copy implementation, this can create
immense overhead. So instead this introduces a move, which basically
consists of
```pascal
procedure Move(var src, dst);
begin
Finalize(dst); // Finalize existing data
Move(src,dst,sizeof(dst)); // Shallow copy
Initialize(src); // Clear source
```
* nld.pas: use MOVE when assigning the function result from the
temporary return object
* rtl/inc/systemh.pas: Adding new macro to mark new RTTI version with MOVE
operation
* rtl/inc/compproc.inc, rtl/inc/rtti.inc: Adding new move mechanism when
indicated by the compiler.
2024-11-16 22:08:06 +00:00
florian
e4af0fc1e9
* don't mess with boolean and/or operations in mixed short/full evaluated expressions, resolves #41012
2024-11-16 17:27:16 +01:00
Frederic Kehrein
4b92df28cf
Adding static properties to extended RTTI
2024-11-15 12:47:41 +00:00
Michaël Van Canneyt
2d0f8467fa
* Patch from Евгений Савин to implement TValue.Cast for floats. Fixes issue #41011
2024-11-13 23:22:59 +01:00
Michaël Van Canneyt
e9107bbf4f
* Patch from Евгений Савин to fix passing records to invoke. Fixes issue #41006
2024-11-11 11:59:57 +01:00
florian
092ff254f1
+ AtomicIncrement/Decrement overloads
...
* tests extended
2024-11-10 14:56:10 +01:00
florian
fe6dd84d01
+ new tests
2024-11-09 09:51:59 +01:00
Michaël Van Canneyt
f35384ba53
* Attributes for methods test
2024-11-08 12:15:28 +01:00
Frederic Kehrein
6618c0dbf7
Fixing a bug where an empty postfix for enum was allowed
2024-11-07 21:09:37 +00:00
Pierre Muller
7b492b9975
Add DosExitCode to DosError shl 16 to set ExitCode value in utils/dosbox/exitcode.pas program
2024-11-06 22:21:22 +00:00
Pierre Muller
dd6efefdbf
Adapt to dosbox-x
2024-11-06 22:21:22 +00:00
Pierre Muller
3bee7636dd
Add command line in verbose mode
2024-11-06 22:21:22 +00:00
Pierre Muller
f4a413fabd
Add rule to generate exitcode.exe dos/go32v2 binary, required by dosbox_wrapper
2024-11-06 22:21:22 +00:00
Sven/Sarah Barth
bcdef8341e
* fix #40992 : correctly handle padding inside the FFI Invoke manager
...
+ added test
2024-11-05 23:23:56 +01:00
Pierre Muller
6e575e753e
Add missing sub-directories from test/packages directory
2024-11-05 21:53:21 +00:00
Frederic Kehrein
1778fb6fe3
Implementing TImplementedInterface.getcopy
to allow copying of interfaced objectcs
...
It's probably not fully correct(see comment about procdef copy) but
seems good enough ¯\_(ツ)_/¯
2024-11-03 14:08:45 +00:00
Sven/Sarah Barth
782b707763
* clarify purpose of texrtti18 and texrtti19
2024-11-01 15:31:20 +01:00
Sven/Sarah Barth
823b376a9d
* texrtti18.pp is no longer relevant due to 59a1199110
which adds support for array properties in Extended RTTI, so move the new texrtti20.pp over to texrtti18.pp
2024-11-01 15:30:18 +01:00
florian
99a9cfbc71
+ additional test
2024-11-01 10:52:35 +01:00
florian
63734fb792
* unnecessary directives removed
2024-10-31 22:35:04 +01:00
Frederic Kehrein
59a1199110
Adding support for indexed properties in extended RTTI
2024-10-31 14:51:00 +00:00
florian
b7edddf9d9
* do not eat the semicolon after an absolute expression to a symbol, noted in #40978
2024-10-30 22:45:48 +01:00
florian
b28681e91d
* properly reject function calls as target of absolute, resolves #40977
...
* better error message on invalid expressions for absolute
2024-10-29 22:23:25 +01:00
Pierre Muller
34b6d4f572
Pass -ll option to prepup utility to include longlog file into tar.gz testsuite results
2024-10-28 11:00:27 +01:00
Rika Ichinose
c08d73054a
Return MemSize from FreeMem.
2024-10-27 21:44:01 +03:00
florian
511beac49c
* get rid of the hack that tlabelnode inherits from tunarynode and stores a statement in left, resolves #40964
2024-10-26 16:11:24 +02:00
Sven/Sarah Barth
00fc962ca3
+ fix #40963 : print suitable messages for local unit, include, library and object paths if -vt is given
...
+ added test
2024-10-25 17:13:23 +02:00
Sven/Sarah Barth
3e8e02bede
+ extend test framework with ability to specify certain expected compiler messages using their ids
2024-10-25 17:11:47 +02:00
Sven/Sarah Barth
a1e9dc4447
* fix typo in tests/readme.txt
2024-10-25 17:08:59 +02:00
Sven/Sarah Barth
2ef822e8e8
* fix #40305 : with type helpers now supporting inheriting from unique type aliases, declare a TRealHelper as a descendant of TDoubleHelper (cause Real is a Double)
...
+ added test
2024-10-25 15:26:32 +02:00
florian
5d4bb6db9b
* patch by lag programming to replace bitcnt by popcnt, resolves #40962
2024-10-22 22:54:57 +02:00
florian
397293f09f
+ more fixes to mark symbols used by preprocessor expressions properly
...
+ made MarkSymbolAsUsed more fail safe
+ tests
2024-10-20 17:28:20 +02:00
florian
8b19929ad9
* fix test
2024-10-20 17:03:36 +02:00
florian
22ec4a2033
* mark symbols used in conditional compiling expressions using sizeof, resolves #40955
2024-10-20 14:37:09 +02:00
florian
b8a4a72760
* properly process all child nodes of call nodes in foreachnode, resolves #40957
2024-10-19 23:41:46 +02:00
Sven/Sarah Barth
e048266473
* fix #40259 : global managed records with Initialize operator need to be initialized no matter if they are referenced in the current unit or not.
...
+ added test
2024-10-18 17:51:49 +02:00
Rika Ichinose
d63b6294b5
Compile “length(string or array) = 0” as “pointer(string or array) = nil” without further check, unless really required.
...
Also handle length <> 0, > 0, < 0, >= 0, <= 0, assuming lengths are never negative.
2024-10-16 16:53:59 +03:00
Sven/Sarah Barth
73420dcace
* ensure that Default() symbols that use management operators are properly initalized/finalized
...
+ added test
2024-10-11 18:00:01 +02:00
florian
e7cf7538cd
* improve test
2024-10-09 22:41:52 +02:00
Frederic Kehrein
a188322e76
Fixing bug where in const init no typecheck for symbol was performed
2024-10-09 19:48:53 +00:00