Michaël Van Canneyt
8cedb10c3a
* Search for correct element type when checking array types
2024-11-25 21:58:17 +01:00
Michaël Van Canneyt
0ca0990e8b
* System.Types for Delphi code
2024-11-25 21:58:17 +01:00
Michaël Van Canneyt
8d24a28c56
* Do not call parsing if JSON is empty (e.g. return 204 with empty body)
2024-11-25 21:58:17 +01:00
Michaël Van Canneyt
e15f731a9b
* Allow to parse internal symbol names generated for generics.
2024-11-25 21:58:17 +01:00
florian
ac4b089e14
* avoid that types of limits of reverted loops are widened
2024-11-25 21:16:30 +01:00
florian
81d24975f0
* properly take care of tempinitcode when calculating def./use. sums of tempcreate nodes
2024-11-25 20:33:54 +01:00
Michaël Van Canneyt
8ffbbe6a93
* Patch from Евгений Савин to fix TValue.From<managedrecord>. Fixes issue #41013
2024-11-25 14:01:26 +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
cc7325e316
* increase stack margin for x86-64 so back tracing a stack overfow with line info does not cause another stack overflow
2024-11-24 22:58:47 +01:00
Michaël Van Canneyt
e03e62f013
* Some fixes in handling of headers
2024-11-23 22:54:40 +01:00
florian
c236ac5e97
* revert for loops also if the upper limit is non-constant
2024-11-23 22:29:03 +01:00
Michaël Van Canneyt
b05e85dda9
* Implement some GetValue methods
2024-11-23 22:08:17 +01:00
Rika Ichinose
d1db5d2104
Darwin: re-enable new assembler fill*word variants
...
Work around with an extra jump to an extra function.
2024-11-23 19:06:47 +03:00
Michaël Van Canneyt
26b6d0223e
* Add IsType with aEmptyAsAnyType param
2024-11-23 10:23:36 +01:00
Michaël Van Canneyt
0c83b3dc6c
* Add Delphi-Compatible new findCmdLineSwitch overload
2024-11-23 10:23:36 +01:00
Sven/Sarah Barth
8f37905609
* use a static data label for the case-label table on aarch64-win64 to avoid the linker discarding it
2024-11-22 17:57:02 +01:00
Sven/Sarah Barth
7b3efe6397
* on aarch64-win64 the case-labels are a list of 8-Byte aligned 8—Byte values, so adjust the alignment to avoid 2 32-bit loads
2024-11-22 17:56:11 +01:00
Sven/Sarah Barth
ad4fe174b1
* ensure that the section with the case-labels is 8-Byte aligned
2024-11-22 17:55:35 +01:00
Sven/Sarah Barth
0e39308416
* adjust comments to better match the situation with aarch64-win64 added to the mix
2024-11-22 17:54:57 +01:00
florian
09f3600cc4
* patch by Lipinast Lekrisov: fix building ffi.pp on macOS, resolves #41035
2024-11-21 22:02:10 +01:00
mattias
3c6f111209
pastojs: added resourcestring
2024-11-21 12:13:40 +01:00
mattias
3fbb5e3ecf
fcl-passrc: started test for method param attributes
2024-11-21 12:13:40 +01:00
Michaël Van Canneyt
03f98e749c
* Fix TValue casts, patch by Евгений Савин, fixes issue #41030
2024-11-21 11:51:11 +01:00
Sven/Sarah Barth
40f90b60eb
* DWARF line info: only use the cached module if the base address also is the same; this can happen if the initial exception occurred at a random address outside the module, but the next stack address can be found inside the correct module
2024-11-20 22:56:09 +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
Jonas Maebe
28e9ebc7da
Darwin: disable new assembler fill*word variants
...
They use interprocedural gotos at the assembler level, which is incompatible
with auto-generated CFI
2024-11-20 21:39:19 +01:00
Michaël Van Canneyt
1230e5a623
* Delphi-compatible output for tvalue.asstring for float value. Fixes issue #41027
2024-11-19 23:34:28 +01:00
Pierre Muller
930596bd85
Fix directories for some source files, based on suggestion by Alfred Glänzer in #40995
2024-11-19 22:12:31 +00:00
zamtmn
b3e8d88f68
GetMutableValue and TryGetMutableValue for fcl-stl.TMap and rtl-generics.generics.TDictionary
2024-11-19 16:42:59 +00:00
Ondrej Pokorny
bc7ed55aab
fix TCustomBase64Encoding.DoEncode(TStream)
2024-11-18 22:24:21 +00:00
Ondrej Pokorny
303834e2a2
TCustomBase64Encoding.DoDecode/DoEncode(array of Byte): no UTF8 encoding/decoding
2024-11-18 22:24:21 +00:00
Ondrej Pokorny
ddf56bee7a
System.NetEncoding: Delphi-compatible Base64 and Base64String encodings
2024-11-18 22:24:21 +00:00
Michaël Van Canneyt
94a4a38ad6
* Added new test unit
2024-11-18 23:02:36 +01:00
Michaël Van Canneyt
f6402d6ff5
* Correct command-line working
2024-11-18 23:02:36 +01:00
Michaël Van Canneyt
2301f09d77
* OpenAPI support for SQLDBRest
2024-11-18 23:02:36 +01:00
Michaël Van Canneyt
3855187038
Type maps signature changed
2024-11-18 23:02:36 +01:00
Michaël Van Canneyt
d84731a07e
* Corrected tests
2024-11-18 23:02:36 +01:00
Michaël Van Canneyt
89da1e0729
* Allow to compile with dotted units
2024-11-18 23:02:36 +01:00
Michaël Van Canneyt
86da0baf02
* Corrections when writing file: write in 3.1 format
2024-11-18 23:02:36 +01:00
florian
4888442fb4
* RiscV: more reliable use_fma
2024-11-18 22:32:55 +01:00
florian
0b49fba637
+ more RiscV extensions
...
* make use of F and D extension flags
2024-11-17 15:05:35 +01:00
florian
08762ab8f0
* missing part of last commit
2024-11-17 15:03:49 +01:00
Sven/Sarah Barth
ecbd0fc0da
* move aliases of fpc_copy and fpc_copy_by_move_semantics to aliases and adjust their names to match other aliaes
2024-11-17 14:33:25 +01:00
florian
c48d8e9708
* write additional info for the tests, might help to identify spurious failures
2024-11-17 14:21:12 +01:00
Rika Ichinose
078e2eabf9
Simplify constexp.pas and fix certain edge cases.
...
High(uint64) - 2 - High(uint64) now gives correct −2.
2024-11-17 12:39:18 +00:00
Rika Ichinose
798d793cdc
Specialized fpc_copy_with_move_semantics for destructive copies.
2024-11-17 09:45:11 +00: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