Commit Graph

7882 Commits

Author SHA1 Message Date
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