Commit Graph

68656 Commits

Author SHA1 Message Date
Michaël Van Canneyt
54b8de47f0 * Make IInterface methods virtual, as in Delphi 2023-11-29 14:44:53 +01:00
Michaël Van Canneyt
7e4aca384f * Some delphi compatibility issues solved (PtrToNil and TGUID operator) 2023-11-29 14:34:27 +01:00
Michaël Van Canneyt
9ba9e886ae * Fix compilation 2023-11-29 00:05:53 +01:00
Henrique Gottardi Werlang
9120ef74e5 Fix for external class declared inside another external class. 2023-11-28 22:55:22 +00:00
Rika Ichinose
6f8fb64d36 Fix a typo in CompareWord_Plain. 2023-11-28 22:17:20 +00:00
Michaël Van Canneyt
e3d12caa9f * Pass make sure all TPath.Combine overloads follow the same code logic 2023-11-28 10:12:33 +01:00
Michaël Van Canneyt
968bd8c12b * Correct dependencies 2023-11-27 17:25:45 +01:00
Michaël Van Canneyt
25da420f61 * Add system.pushnotifications for Delphi compatibility 2023-11-27 17:24:30 +01:00
Michaël Van Canneyt
b6a0988559 * Fix compilation in unicode RTL 2023-11-27 09:51:05 +01:00
Michaël Van Canneyt
a3134fcbfd * Correct dependency for system.notifications 2023-11-27 09:50:50 +01:00
Michaël Van Canneyt
1f4b8a774f * Fix compilation in unicode RTL 2023-11-27 09:50:33 +01:00
Rika Ichinose
1ec0326995 REP STOS branch for x64 Fill* (only for System V ABI for now). 2023-11-26 15:06:59 +00:00
Rika Ichinose
a4c324ee23 Fill* for x64, physically sharing half of the code with FillChar. 2023-11-26 15:06:59 +00:00
Jonas Maebe
2db4cae7aa nested procvars: support assignments when switch not active
Support assigning one nested procvar to another even when the nestedprocvars
modeswitch is not active. This can happen when the type was declared in a
different unit that was compiled with this modeswitch, or in internally
generated wrapper code (which uses "pure" objfpc mode)
2023-11-25 22:35:55 +01:00
J. Gareth "Curious Kit" Moreton
7080bcc160 * UpdateUsedRegsAndOptimize improved to clear aligns that don't have
any live labels after them, and to better handle non-jump labels.
2023-11-25 20:47:44 +00:00
J. Gareth "Curious Kit" Moreton
90e0b426ef * SkipInstr now includes ait_align 2023-11-25 20:47:44 +00:00
J. Gareth "Curious Kit" Moreton
da47c509df * Label and align optimisation is now only done in the post-peephole
stage rather than passes 1 and 2.
2023-11-25 20:47:44 +00:00
Michaël Van Canneyt
33b68e030a * Add license header 2023-11-25 15:30:50 +01:00
Michaël Van Canneyt
bad7ea43a8 * Fix typo 2023-11-25 15:29:14 +01:00
Michaël Van Canneyt
5cc4d52487 * System.JSON for Delphi compatibility 2023-11-25 14:30:55 +01:00
Michaël Van Canneyt
e78a4d3899 * Use class instead of classname 2023-11-25 10:41:33 +01:00
Michaël Van Canneyt
55deb8cb43 * Do not ignore .lpi files in general 2023-11-25 10:33:12 +01:00
Michaël Van Canneyt
c2d76841df * Add .lpi files 2023-11-25 10:32:27 +01:00
Michaël Van Canneyt
6f02e648cc * classname -> class 2023-11-25 10:32:05 +01:00
Michaël Van Canneyt
607cd2947d * Patch from Christian Vitroler to fix loading UTF8 data. Fixes issue #40543 2023-11-25 10:06:58 +01:00
Michaël Van Canneyt
39d2035db2 * Patch from Bart B to let TPath.HasValueFileNameChars return index of offending char. Fixes issue #40540 2023-11-23 23:18:10 +01:00
Pierre Muller
b8036f7173 Add dwarf CFI for 32-bit powerpc cpu 2023-11-23 21:39:14 +01:00
Pierre Muller
da683ade18 Add dwarf CFI for powerpc64 cpu 2023-11-23 21:19:52 +01:00
Pierre Muller
429d2cdf12 Call FindUtil for ld or nlmconv utils at linking stage, not before 2023-11-23 20:54:30 +01:00
Michaël Van Canneyt
45cb7d1eff * Make dictionary constructor behave as Delphi does in absence of comparer 2023-11-22 16:29:33 +01:00
Michaël Van Canneyt
63237dd375 * TPath.Combine rework by Bart B. Fixes issue #40513 2023-11-21 23:58:51 +01:00
Rika Ichinose
b468793c63 Index/Compare refined by hand instead of mostly being GCC output. 2023-11-21 22:32:16 +00:00
Michaël Van Canneyt
728be94328 * Add system.notification for Delphi compatibility 2023-11-21 19:53:31 +01:00
Rika Ichinose
05b7ebd34e Add Exchange<T> that works like std::exchange in C++. 2023-11-21 04:34:16 +03:00
florian
d287788b57 * patch by Rika to resolves #40531 2023-11-20 23:04:24 +01:00
florian
b164817e18 * check also for XGETBV support, resolves problem reported by Pierre 2023-11-20 22:55:25 +01:00
Pierre Muller
cbcc7c8d35 Revert wrong commit about PIC code for powerpc-linux 2023-11-20 22:08:19 +01:00
Michaël Van Canneyt
2d3cd5bff2 * Add CreateFmt constructor for EInOutArgumentException 2023-11-20 21:45:53 +01:00
Pierre Muller
98ef2773e0 Improve token buffer size checks.
* For settings comparison: call CompareByte only on copy_size.
  * For mesgnb: verify that there is enough memory space
    in rest of tokenbuf to hold the number of messages.
  + Add a check that tbi is not greater than tokenbufsize.
2023-11-20 20:59:04 +01:00
Pierre Muller
2ed2ca5cf0 Add missing token buffer index update for ST_LOADMESSAGES handling 2023-11-20 17:52:21 +01:00
Pierre Muller
6f5c6ac410 Add Exception backtrace when compiled with -dDUMP_EXCEPTION_BACKTRACE 2023-11-20 01:05:11 +03:00
Pierre Muller
2ad20b3787 Add pseudo PIC code for 32-bit powerpc, probably wrong :-( 2023-11-20 01:05:11 +03:00
Pierre Muller
922893ddbb Attempt to fix tcalext3 big-endian powerpc64 failure 2023-11-20 01:05:10 +03:00
Michaël Van Canneyt
131331bc50 * Add AssertNoException, add overload with function reference 2023-11-19 17:56:07 +01:00
Michaël Van Canneyt
6eac18e8c1 * Add some missing exception classes 2023-11-19 16:20:08 +01:00
florian
e5de38c42d * patch by lagprogramming: Improvement of function SetCompileModeSwitch, resolves #40525 2023-11-19 13:37:37 +01:00
Michaël Van Canneyt
3c4a2c7380 * Patch from Bart B to fix TPath.GetRandomFileName. Fixes issue #40528 2023-11-19 13:09:41 +01:00
Michaël Van Canneyt
92e86cb11d * Patch from Bart B to implement TPath.DesktopPath and TPath.AppPath 2023-11-19 12:17:38 +01:00
Michaël Van Canneyt
dd78479afa * Register msDelphiMultilineStrings 2023-11-19 11:25:14 +01:00
Michaël Van Canneyt
f3d93a47de * Enable multiline strings in delphi mode 2023-11-19 11:07:07 +01:00