Commit Graph

71002 Commits

Author SHA1 Message Date
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
Michaël Van Canneyt
2045755945 * Fix namespaced compile 2024-11-11 13:37:50 +01:00
Michaël Van Canneyt
0794b375df * Fix wrong git merge 2024-11-11 13:19:54 +01:00
Margers
fd64cb8c5a Show proper dialog title for Add Watch and Edit Watch 2024-11-11 12:13:17 +00:00
Margers
b73bf4a811 Markers move along with lines 2024-11-11 12:12:24 +00:00
Margers
e221096a02 Fix for backspace in empty line. Textmode IDE 2024-11-11 12:10:05 +00:00
Margers
a8520ad03e Show line indents in Textmode IDE 2024-11-11 12:08:49 +00:00
Michaël Van Canneyt
87cfd7dcae * Correct names, needed for fpmake to work 2024-11-11 13:10:34 +01:00
Margers
4c4388f830 Fix FV history list 2024-11-11 11:57:35 +00:00
Margers
8b10637036 Open fp.dsk for load in Read access only mode 2024-11-11 11:56:46 +00:00
Margers
530f08d9d3 Save and return to last directory in next Textmode IDE session 2024-11-11 11:55:27 +00:00
Margers
97b79b3d4e Larger Change Directory dialog for larger console/terminal dimensions 2024-11-11 11:54:07 +00:00
Margers
8d7a6cc778 Larger File Open dialog for larger console/terminal dimensions 2024-11-11 11:51:38 +00:00
Margers
f419e9dfab Global clipboard support long lines 2024-11-11 11:50:36 +00:00
Margers
f0257e8424 RawReadString is limited to length of shortstring, don't read more than that 2024-11-11 11:50:36 +00:00
Margers
899343f07c Integration of bracketed paste and OSC 52 in Textmode IDE 2024-11-11 11:50:36 +00:00
Margers
fb872569da Bracketed paste and OSC 52 in FV 2024-11-11 11:50:36 +00:00
Margers
1b4c2b0551 Add fvclip unit 2024-11-11 11:50:36 +00:00
Michaël Van Canneyt
5a2b045388 * Simple example for JOB call 2024-11-11 12:10:28 +01:00
Margers
7e36f16e87 Enable Color select dialog in Textmode IDE 2024-11-11 10:59:14 +00:00
Margers
b5ad06da4b Add ColorSel in fpmake 2024-11-11 10:59:14 +00:00