Michaël Van Canneyt
7eeb313376
* Add unit initialization tracking hook
2025-12-10 15:02:08 +01:00
Rika Ichinose
e133ab5790
Fix + QoL + eye candy for Windows error boxes.
2025-07-23 14:06:48 +00:00
Rika Ichinose
ff2492edf5
Add System.UMul64x64_128.
2025-03-15 22:18:55 +01:00
Rika Ichinose
4f92679625
BMI1 → BMI2.
2025-03-13 01:02:15 +03:00
Rika Ichinose
f7f8c9a615
Publish System.MemPos.
2025-02-09 03:40:40 +03:00
Michaël Van Canneyt
3f0593b554
* Better fix for atomic operations on wasm
2025-01-07 14:42:21 +01:00
Michaël Van Canneyt
ec7e917b1a
Use correct defines for ALUSInt, fixes problems encountered in webassembly
2025-01-06 14:10:27 +01:00
Sven/Sarah Barth
7f4b2f63b3
Switch from functions for the Atomic*-family to intrinsics
2024-12-12 22:05:15 +01: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
092ff254f1
+ AtomicIncrement/Decrement overloads
...
* tests extended
2024-11-10 14:56:10 +01:00
Rika Ichinose
0b97f169b0
Remove conditionals that rely on not defined(FPC_HAS_CPSTRING).
2024-11-04 10:28:33 +00:00
Rika Ichinose
9917350ef0
AVX2 CompareByte for i386.
2024-09-23 20:10:57 +00:00
Rika Ichinose
d7352e7b66
Remove most of the VER3_0 conditionals.
2024-08-25 09:44:11 +00:00
florian
5b5a8b3387
* add cpuriscv to be on the safe side
2024-08-01 22:40:11 +02:00
Rika Ichinose
1030f67fb4
Use IndexQWord_SSE41 directly if -Cp RTL compiled with supports SSE 4.1.
2024-07-21 08:40:12 +00:00
Rika Ichinose
a575a5c0fd
Move Int128Rec to System; remove i386 and x86_64 CPU unit dependency on SysUtils.
2024-07-15 13:31:20 +00:00
Rika Ichinose
73bf0c82bb
Disable _Plain versions when compiling RTL for newer CPUs.
2024-07-14 14:36:17 +00:00
florian
9209f55112
* make GetProcessID inline
2024-07-01 21:25:34 +02:00
Rika Ichinose
0ca608243c
SSE4.1 IndexQWord for i386 and x86-64.
2024-06-29 20:37:55 +00:00
Pierre Muller
d1510840d0
Fix compilation of rtl with -dDISABLE_SYSTEMINLINE
2024-05-02 07:47:57 +00:00
florian
a0cae50af6
* rtl part of #35433
2024-05-01 23:15:12 +02:00
florian
bccc0b195e
* allow type = type ... ; syntax only for previously declared types, avoids also internal error for #40566
2024-02-20 23:14:31 +01:00
Rika Ichinose
b7d32e4933
ERMSB-aware Fill* for i386.
2024-01-01 18:33:33 +00:00
Michaël Van Canneyt
4c529287c6
* string -> shortstring
2023-07-22 08:26:22 +00:00
Michaël Van Canneyt
56006aa002
* Allow widechar sets, reduce to ansichar set
2023-07-22 08:26:22 +00:00
Michael VAN CANNEYT
bcaf82f5e7
* String -> ShortString
2023-07-14 17:26:11 +02:00
Michael VAN CANNEYT
d2d3fe6bc3
* Char -> AnsiChar
2023-07-14 17:26:10 +02:00
Michaël Van Canneyt
bd03612527
* Typo fixed
2023-07-13 17:24:51 +02:00
Michaël Van Canneyt
6e5c4667cd
* Do not compile pointer overloads of atomic operations for MS-DOS/i8086
2023-07-13 16:18:04 +02:00
Michaël Van Canneyt
2a87366086
* Delphi compatibility aliases for Interlocked* functions
2023-07-09 15:44:55 +02:00
Rika Ichinose
98fa292b20
SSE2 Index* and Compare* for i386, chosen at runtime.
2023-03-17 20:42:50 +00:00
Jinyang He
664c613d96
add loongarch64 rtl support
2023-02-05 19:18:48 +00:00
florian
a06c034189
* cleanup of outdated defines
2023-01-20 23:31:04 +01:00
Pierre Muller
5913434ba9
Add DISABLE_SYSTEMINLINE check to be able to avoid setting SYSTEMINLINE macro
2022-09-20 22:39:28 +01:00
Nikolay Nikolov
c9ed14f87b
+ enable the 64-bit SAR instruction on the WebAssembly target
2022-05-27 22:56:05 +03:00
Nikolay Nikolov
b6aaa06f83
+ enable the ROL/ROR instructions for WebAssembly
2022-05-27 22:46:32 +03:00
Pierre Muller
fbed068048
Set float type information in system interface part for mips64 and mips64el CPUs
2022-02-04 20:00:40 +00:00
Tomas Hajny
9f6651fdb7
+ added Get/SetTextAutoFlush feature
...
git-svn-id: trunk@49324 -
2021-05-02 14:59:21 +00:00
Károly Balogh
45b5e9215c
rtl: remove defines for v2.x compiler from the common part of the RTL. It's no longer suppported to build with that
...
git-svn-id: trunk@49036 -
2021-03-23 09:32:49 +00:00
nickysn
800bb3adc2
* instead of using discardresult, wrap the uniquestring functions in procedures,
...
that are declared as inline
git-svn-id: trunk@49016 -
2021-03-19 21:13:20 +00:00
nickysn
df947d3ae8
* fixed rtl compilation with FPC 3.2.0 starting compiler
...
git-svn-id: branches/wasm@48305 -
2021-01-22 00:48:44 +00:00
nickysn
7e958e0a35
+ introduced the discardresult directive and declared the UniqueString()
...
overloads, using this directive
git-svn-id: branches/wasm@48283 -
2021-01-21 21:42:07 +00:00
nickysn
4c85306f69
+ added wasm32 type defines
...
git-svn-id: branches/wasm@47957 -
2021-01-02 07:58:33 +00:00
Károly Balogh
05d680902e
* make sure things still build with 3.0 after r47353
...
git-svn-id: trunk@47359 -
2020-11-09 00:24:29 +00:00
svenbarth
c496b609d1
* fix for Mantis #38051 : make Chr() a real intrinsics so that it can be used in type declarations as well
...
+ added test
git-svn-id: trunk@47353 -
2020-11-08 22:23:02 +00:00
svenbarth
ac36eec71a
* protect GetFullName with FPC_HAS_FEATURE_UNICODESTRINGS instead of _WIDESTRINGS
...
git-svn-id: trunk@47294 -
2020-11-03 19:25:32 +00:00
pierre
e80b1d9e70
Put GetFullName functions inside $ifdef FPC_WIDESTRING_EQUAL_UNICODESTRING
...
git-svn-id: trunk@47287 -
2020-11-03 07:13:59 +00:00
florian
408fc819b3
+ initial implementation of a FullName field in file records to overcome length limitions of the name field
...
git-svn-id: trunk@47263 -
2020-10-31 19:54:40 +00:00
florian
1bf58c2a55
+ introduce TExitCode
...
git-svn-id: trunk@47029 -
2020-10-01 20:33:02 +00:00
florian
1e4dc56155
* inlinable frame handling dummies for avr
...
* inline frame handler if possible
git-svn-id: trunk@47025 -
2020-09-30 21:18:33 +00:00