Commit Graph

2727 Commits

Author SHA1 Message Date
Nikolay Nikolov
40e41a846f + added .o files for the C linking tests for the wasip1threads platform 2025-02-28 15:12:21 +02:00
Nikolay Nikolov
31644454d0 * test/cg/obj/wasi renamed test/cg/obj/wasip1 2025-02-28 15:12:21 +02:00
Nikolay Nikolov
f1725289e9 + added option -CN to tests tabsvr6.pp and tabsvr7.pp in order to make them work in WebAssembly 2025-02-02 17:18:46 +02:00
Nikolay Nikolov
452c766f04 * fixes in test test/cg/tcalext6.pp for compatibility with the WebAssembly ABI,
which does not support calling an external cdecl function with different
  number of parameters than it was declared with.
2025-02-02 15:26:57 +02:00
florian
529091f620 * fixed test runner directives 2025-01-26 10:53:22 +01:00
florian
c3a9b67118 * couple of wrong test runner directives fixed 2025-01-26 10:33:54 +01:00
florian
2b30f8b96a * fixed and extended test to support all extensions 2025-01-19 21:45:18 +01:00
florian
b1c2023af1 + support for RiscV hwprobe syscall
+ test
2025-01-19 18:42:04 +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
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
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
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
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
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
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
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
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
Michaël Van Canneyt
e1e301dea8 * Add missing methods to thunk class for parent interfaces without RTTI 2024-11-25 11:32:36 +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
Frederic Kehrein
4b92df28cf Adding static properties to extended RTTI 2024-11-15 12:47:41 +00: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
Frederic Kehrein
6618c0dbf7 Fixing a bug where an empty postfix for enum was allowed 2024-11-07 21:09:37 +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
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
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
Frederic Kehrein
a188322e76 Fixing bug where in const init no typecheck for symbol was performed 2024-10-09 19:48:53 +00:00
Michaël Van Canneyt
736edf6422 * Better testlocation 2024-10-02 07:36:17 +02:00
Frederic Kehrein
dcabb0151f Adding fpsockets unit to fcl-net 2024-10-02 07:36:17 +02:00