Commit Graph

71022 Commits

Author SHA1 Message Date
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
Michaël Van Canneyt
ede14da4d2 * OpenAPI helper units and classes 2024-11-16 16:12:46 +01:00
Michaël Van Canneyt
25954d39e4 * OpenAPI to pascal conversion tool 2024-11-16 15:40:51 +01:00
Michaël Van Canneyt
4e4f1ec4de * Remove wrong line 2024-11-16 14:42:33 +01:00
Michaël Van Canneyt
38b5a4cbb7 * Add newline after uses clause 2024-11-16 14:36:17 +01:00
Michaël Van Canneyt
4a3b2c3c32 * OpenAPI code generator 2024-11-16 14:36:17 +01:00
Karoly Balogh
3936e35b73 fcl-web: fixed a wrong condition in previous commit 2024-11-15 23:30:05 +01:00
Karoly Balogh
ff89a4815a fcl-web: only disable some CGI related things on Amiga-like systems, where the current code assumes Unix or Windows 2024-11-15 23:03:01 +01:00
florian
b6af220f1a + print add node flags 2024-11-15 22:39:19 +01:00
Ondrej Pokorny
0f591ee616 implement missing TryStrToNetAddr 2024-11-15 15:56:15 +00:00
Michaël Van Canneyt
0b0193106f * Fix comp errors. Patch by Евгений Савин. Fixes issue #41016 2024-11-15 16:57:20 +01:00
Frederic Kehrein
4b92df28cf Adding static properties to extended RTTI 2024-11-15 12:47:41 +00:00
florian
89b1cdefbe * more use of OptPass1OP 2024-11-14 22:58:37 +01:00
Michaël Van Canneyt
8c8bef492f * Reinstate ftlongword support, accidentally removed. Fixes issue #41014 2024-11-14 14:22:52 +01:00
Michaël Van Canneyt
db9b2a6a95 * Add request ID handling and callback-based result 2024-11-13 23:32:17 +01:00
Michaël Van Canneyt
b95db4b610 * Fixes in array type handling 2024-11-13 23:28:58 +01: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
florian
ccae78f97a + RiscV64: apply OptPass1OP also to addiw 2024-11-13 22:56:13 +01:00
Rika Ichinose
e9579fe2df Better Utf8ToUnicode. 2024-11-12 20:29:43 +00:00
Margers
7ac4e38b71 Fix copy-paste error 2024-11-12 06:47:55 +00:00
Rika Ichinose
89142ba73a Faster dynamic array concatenations. 2024-11-11 19:50:41 +00:00
mattias
a0a17d5f07 fcl-css: fixed resolving function 2024-11-11 15:33:18 +01:00
Margers
d0c33bfa5d Fix for undo if chars are add in tab space 2024-11-11 12:49:15 +00:00