Commit Graph

15940 Commits

Author SHA1 Message Date
Michaël Van Canneyt
f1c4f0c879 * Check component is not nil prior to calling validateinsert 2024-03-14 17:14:13 +01:00
Pierre Muller
603dd63b39 Fix make variable name error: OBJPAS_DEPS_SPU => OBJPAS_DEPS_CPU 2024-03-11 14:23:25 +00:00
Pierre Muller
1230fc811a Use rtl/java version of objpas.pp source for java OS 2024-03-11 14:22:10 +00:00
Michaël Van Canneyt
8665e03886 * Add parameter to skip inherited fields 2024-03-11 13:52:35 +01:00
Rika Ichinose
a35577593b Don’t misalign FillChar pattern. 2024-03-10 21:24:21 +00:00
florian
edaee6f392 * do not copy sets in fpc_varset_(un)set if source and dest are the same 2024-03-09 22:51:14 +01:00
Rika Ichinose
4c6abb38b1 Non-nil-aware fpc_ansistr_compare(|_equal). 2024-03-08 18:19:03 +00:00
Pierre Muller
5a7d5367d2 Try to implement UnicodeFromLocaleChars for java 2024-03-05 20:58:30 +00:00
Michaël Van Canneyt
48cb0eb5b1 * force correct strpas overload when using unicodestrings 2024-03-04 16:49:58 +01:00
Michaël Van Canneyt
05f0ceeb26 * Atributes for class/record methods 2024-03-02 14:15:22 +01:00
florian
4e1f854d49 * patch by Rika + test: Don’t explicitly change GetMem(0) to GetMem(1), it works anyway, resolves #40456 2024-03-01 22:49:45 +01:00
florian
11f076f0e7 + CMPXCHG16BSupport 2024-02-28 22:18:42 +01:00
Michaël Van Canneyt
4769ed948a * Add codeaddress to extended RTTI for static methods 2024-02-28 11:52:16 +01:00
Michaël Van Canneyt
8b40033964 * Change argument name 2024-02-27 09:27:41 +01:00
Rika Ichinose
7589bb39b8 Set ‘TMonitorData’s without locking. 2024-02-27 07:54:31 +00:00
Michaël Van Canneyt
06601d5e60 * Fix TExtendedVmtFieldEntry.GetTail 2024-02-26 15:20:15 +01:00
Michaël Van Canneyt
8527cb17f8 * Fix overflow in initialization of return value 2024-02-25 19:57:39 +01:00
Michaël Van Canneyt
bd2b0c8dca * Fix use of wrong memory size when getting extended property info 2024-02-25 19:57:39 +01:00
Michaël Van Canneyt
b3800d38cb * Handle potential double defintion of INFINITE 2024-02-24 19:52:00 +01:00
Michaël Van Canneyt
4c26e4f989 * Enable monitor support 2024-02-24 18:11:23 +01:00
Michaël Van Canneyt
e1b2feac33 * Set monitor structures in place 2024-02-24 18:11:23 +01:00
Pierre Muller
2efb72bede Use call to seterrno function inside FpSysCall functions for powerpc cpu on linux OS 2024-02-24 00:05:20 +03:00
Rika Ichinose
e87e14c7cc Make some i386.inc functions “nostackframe”. 2024-02-21 21:08:36 +00:00
Jonas Maebe
8baa4f41db JVM: fix system unit compilation error
Apply same change as to systemh.inc in bccc0b195e
2024-02-21 21:48:29 +01:00
Michaël Van Canneyt
97495e93b8 * Delphi compatible TCollection.Sort() using helper 2024-02-21 10:31:29 +01: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
Michaël Van Canneyt
b61a0fab97 * CurveKappa, CurveKappaInv 2024-02-20 17:50:10 +01:00
Michaël Van Canneyt
9a344568df * RectWidth was not public 2024-02-20 17:48:26 +01:00
Michaël Van Canneyt
31b978f3b7 * Add UnicodeFromLocaleChars for Delphi compatibility 2024-02-20 17:09:35 +01:00
marcoonthegit
5c1997b3d5 * fix ident and executable note in profiler file 2024-02-20 15:49:09 +01:00
Michaël Van Canneyt
30a20cc209 * Add operators to TMethod, for Delphi compatibility 2024-02-20 15:36:18 +01:00
Michaël Van Canneyt
bc714c0fd7 * Added Delphi-compatible overload for ToString with UpdateCapacity argument 2024-02-20 14:49:13 +01:00
Michaël Van Canneyt
852cd355e4 * Use correct error number for missing widestring manager 2024-02-20 14:32:45 +01:00
Michaël Van Canneyt
ad93958e5b * Add delphi-compatible constant (including the typo in the name ;)) 2024-02-20 11:08:39 +01:00
Michaël Van Canneyt
8f8ce13b41 * Add IsUniqueGlobalComponentName 2024-02-20 11:01:35 +01:00
Michaël Van Canneyt
6f25cccda9 * Select proper stringbuilder depending on size of char 2024-02-20 10:46:44 +01:00
Michaël Van Canneyt
1e1b273c67 * Correct TCharArray declaration, disambiguate between widechar/char 2024-02-20 10:16:56 +01:00
Karoly Balogh
572a340a26 m68k-atari: mark functions and API calls related to exiting the program as noreturn 2024-02-20 03:56:17 +01:00
Karoly Balogh
eb6f29d084 m68k: disable verbose error reporting of the stub unicode and threadmanagers by default on Amiga, Atari, Human68k, and Sinclair QL 2024-02-20 03:56:17 +01:00
Karoly Balogh
88c7954d9f rtl: add two defines toallow disabling the verbose error of the stub unicodestringmanager and threadmanager 2024-02-20 03:56:17 +01:00
Michaël Van Canneyt
30f514eb6b * Add CanObserve and ObserverAdded to TComponent, for delphi compatibility 2024-02-19 11:21:42 +01:00
Rika Ichinose
2d6294eb26 MovQ + Shr → PExtrW. 2024-02-18 21:37:39 +00:00
Rika Ichinose
e5b47310c8 Supposedly faster i386 int() and frac(). 2024-02-18 21:37:39 +00:00
Michaël Van Canneyt
b7e8dd6268 * Add optional parameter to get methods of only current class 2024-02-18 21:36:05 +01:00
marcoonthegit
f582f93a0a * git changed to 1024 for mnamelen apparently fixes tdos1 test crash 2024-02-18 16:03:22 +01:00
marcoonthegit
e9b12b41db * also add stack note for trunke 2024-02-18 15:27:23 +01:00
Michaël Van Canneyt
9000f8742d * Fix error in TReadr.ReadString. Fixes issue #40652 2024-02-18 10:44:20 +01:00
Michaël Van Canneyt
f6ce76b638 * Fix in overloads of GetFieldList 2024-02-18 10:44:20 +01:00
Michaël Van Canneyt
89f0e052df * Add Clients property to TBasicAction 2024-02-16 15:50:51 +01:00
Michaël Van Canneyt
f011e80cb2 * Add scCommand (command key) 2024-02-16 15:23:03 +01:00
Michaël Van Canneyt
055740e2b3 * Overloads for TResourcestream.Create 2024-02-16 14:31:01 +01:00
Michaël Van Canneyt
6edfaed0ac * Fix signature of TReader.SetName 2024-02-16 14:12:56 +01:00
Michaël Van Canneyt
689fae7dd9 * Add TReader.ReadStr for Delphi compatibility 2024-02-16 12:07:45 +01:00
Michaël Van Canneyt
d51a0c6b3c * Forgot to commit. 2024-02-16 11:45:16 +01:00
Michaël Van Canneyt
a320464afe * Add support for vaDouble 2024-02-16 11:42:52 +01:00
Michaël Van Canneyt
87a37e70ee * Add EnumModules for Delphi compatibility 2024-02-16 11:15:27 +01:00
florian
57f6ed804e + set pi_do_call on xtensa as well if we check for fpu exceptions
* cosmetics
2024-02-14 23:04:25 +01:00
Michaël Van Canneyt
6d49f7db7b * Correct UTF8 detection 2024-02-14 20:08:16 +01:00
Michaël Van Canneyt
186f93a8c9 * Add TestStreamFormat 2024-02-14 18:18:21 +01:00
Michaël Van Canneyt
7506277dc1 * Add TReader.SetName for Delphi compatibility 2024-02-14 18:02:45 +01:00
Michaël Van Canneyt
3a1f180a56 * Add delphi-compatible TPointF.EqualsTo overload 2024-02-14 15:30:19 +01:00
Michaël Van Canneyt
2d9ef694dd * Make TComponent.GetObservers virtual and protected for Delphi compatibility 2024-02-14 14:30:16 +01:00
Michaël Van Canneyt
d1b7a49700 * Move move free notifications to separate procedure. Fixes issue #40638 2024-02-14 12:41:59 +01:00
Michaël Van Canneyt
4af99236b0 * Add TDispatchMessage 2024-02-13 19:57:05 +01:00
florian
e7600ee245 * patch by Rika: Small improvements to (a|u)strings.inc, resolves #40364 2024-02-11 16:29:53 +01:00
Rika Ichinose
c29dd86bb2 Remove runtime ABI adapter in x86_64.inc:IndexByte/Word, and save two jumps in the common case. 2024-02-11 15:05:03 +00:00
Rika Ichinose
7bf502ad40 Change Mov*DQ to Mov*PS; they are always equivalent because no operations but the memory transfers are performed, and 1 byte shorter each. 2024-02-10 22:47:40 +00:00
Rika Ichinose
12f18177ae Simplify x86_64.inc:Move non-temporal loops, and adjust thresholds for move distances considered too short for NT. 2024-02-10 22:47:40 +00:00
Rika Ichinose
0b5998ee8b Write two last values after 2× loops unconditionally instead of an extra check. 2024-02-10 22:47:40 +00:00
Rika Ichinose
e395166cb7 Check for Move overlaps in more obvious way (that also does no jumps in forward case). 2024-02-10 22:47:40 +00:00
marcoonthegit
78eb340a4f * change elfid to 1400097 aka FreeBSD 14.0 2024-02-10 17:02:44 +01:00
Sven/Sarah Barth
244d3df869 * make Lazarus' CodeTools happy 2024-02-09 15:10:31 +01:00
Sven/Sarah Barth
75b5e8e63d * fix #40603:
- initialize thrdinfo record using Default() so that padding bytes are zeroed as well
  - correctly pass the count of ULONG_PTRs
2024-02-09 15:08:27 +01:00
Michaël Van Canneyt
cde58d66fc * Make GetEnumName safer, check actual type. Allow passing an integer 2024-02-06 18:04:44 +01:00
Michaël Van Canneyt
c9b7a3b3b5 * Use value for fmShareNoLocking which does not overlap with classes fmCreate 2024-01-30 13:35:54 +01:00
Pierre Muller
57e74e0c8b Regenerated Makefile's after: Add linux dependency on syscall unit for libc on i386 and x86_64 2024-01-29 11:20:47 +00:00
Pierre Muller
2e6a31df8b Add linux dependency on syscall unit for libc on i386 and x86_64 2024-01-29 11:20:09 +00:00
Michaël Van Canneyt
c3339e9a51 * Prevent file handle leak 2024-01-28 11:30:37 +01:00
Michaël Van Canneyt
e79f5ef577 * Introduce fmShareNoLocking to disable locking of file descriptors on unix 2024-01-28 11:30:37 +01:00
Rika Ichinose
48815baef6 Load oleaut32.dll for widestrings on demand.
Most of the applications don’t and shouldn’t use widestrings, as unicodestrings are superior.
2024-01-26 22:09:41 +00:00
florian
acb6c7f36b * win64 has always SetThreadStackGuarantee 2024-01-26 21:42:26 +01:00
Rika Ichinose
a774075f2f Support Windows XP where SetThreadStackGuarantee is absent. 2024-01-26 16:57:49 +03:00
florian
a2f2af87d2 * Windows CE does not support SetThreadStackGuarantee 2024-01-25 22:06:13 +01:00
florian
14ab1cfb71 * set stack margin on windows, so there is stack space left for exception handling in case of a stack overflow, resolves #40589 2024-01-24 21:31:03 +01:00
Sven/Sarah Barth
4aeb1ee223 * fix implementation comment 2024-01-22 22:27:33 +01:00
florian
40072fb762 * defines fixed 2024-01-22 22:14:06 +01:00
florian
e0a5d07e37 + manually added new syscalls to i386-android 2024-01-21 21:14:57 +01:00
florian
dc5041d778 * fix compilation for mipsel-android (hopefully) 2024-01-21 11:32:28 +01:00
florian
3cd7c675b1 * manually added newer syscall numbers for arm-android 2024-01-20 14:10:40 +01:00
florian
785e259e62 * compilation on linux with FPC_USE_LIBC fixed 2024-01-19 23:45:07 +01:00
florian
185a346744 * fix darwin compilation after TTimespecArr changes 2024-01-18 22:19:42 +01:00
Michaël Van Canneyt
e9c6f1c152 * Delphi-compatible overloads UTF8ToUnicodeString 2024-01-18 09:32:15 +01:00
florian
54dba5738c * cleaned up TTimespecArr declarations 2024-01-17 23:25:03 +01:00
florian
4dc4d2b2ba * use TTimespecArr instead of tkernel_timespecs in sysutils 2024-01-17 23:25:03 +01:00
marcoonthegit
231007ebda * check length of optstring before dereferencing (optstring[1]) it. Fixes #40596 2024-01-17 11:41:16 +01:00
Sven/Sarah Barth
21ffa221e6 * fix #40595: correctly access the list of parameters of the extended method table
+ added test
2024-01-15 23:14:38 +01:00
florian
b81f92536d * avoid that fpc_fillmem does not inline due too much nested calls 2024-01-15 22:42:53 +01:00
Sven/Sarah Barth
dd4f7e9148 * fix #40592: make the Delphi-compatible attributes usable, but in a way that makes it clear to the user that they won't work
+ added test
2024-01-15 22:29:47 +01:00
Sven/Sarah Barth
38ca4f9157 * remove semicolon to make Lazarus happy 2024-01-15 22:29:47 +01:00
florian
9ee2eee293 * fix utimensat and utimensat if the rtl is compiled with -dFPC_USE_LIBC 2024-01-15 21:56:40 +01:00
florian
654d75b777 * fix bootstrapping with with 3.2.2 and -dFPC_USE_LIBC 2024-01-15 21:56:09 +01:00
florian
9bb6a32c62 * avoid wrong warning about FillChar not initializing the output parameter in case count <= 0 2024-01-15 21:54:11 +01:00
Michaël Van Canneyt
af3ebf1464 * Change GetSystemTimes signature to be delphi compatible, implement for linux 2024-01-15 15:41:49 +01:00
Pierre Muller
81ae7063f3 Add new DragonFly OS syscall number up to release 6.4.0 (v6.4.0 tag on https://gitweb.dragonflybsd.org/dragonfly.git) 2024-01-15 15:18:56 +01:00
Michaël Van Canneyt
49100cc42b * Add Current and CurrentIsMain 2024-01-15 14:19:53 +01:00
Pierre Muller
f506df022e Add missing syscall_nr_futimens for NetBSD OS 2024-01-15 10:00:55 +01:00
florian
774e0f9122 + support for fputimens on non-linux OSes
* reworked fputimens support on linux
  + FileSetDate for all unix OSes
2024-01-14 22:23:11 +01:00
Rika Ichinose
e4a0b1adb4 Use ERMS in all eligible cases, again.
Namely, when Move.count > NtThreshold but move distance is too short. 8310b169b7 messed with the logic and made this case fall back to a regular loop instead of more preferable ERMS.
2024-01-11 21:51:44 +00:00
Michaël Van Canneyt
c2383fc207 * Correct casing. Fixes #40589 2024-01-10 09:43:51 +01:00
Pierre Muller
2c622e2fe6 * rtl/macos/dos.pp: Remove unused unixutil in _USES clause of rtl/macos/dos.pp source.
* rtl/macos/Makefile.fpc: Update dependency list DOS_DEPS: remove unixutil and add missing macostp.

* rtl/macos/Makefile: Regenerate.
2024-01-09 11:42:18 +01:00
Karoly Balogh
6ef3aef5f2 m68k-sinclairql: regenerated Makefile 2024-01-08 02:22:15 +01:00
Karoly Balogh
21156bc5d3 m68k-sinclairql: fixed the installation of many units that are otherwise built 2024-01-08 02:22:15 +01:00
Karoly Balogh
a1863d8dc8 m68k-sinclairql: also build the various softfpu flavors for the QL 2024-01-08 02:22:15 +01:00
Karoly Balogh
be4e5f240c m68k-sinclairql: make heaptrc compile for the QL 2024-01-08 02:22:15 +01:00
Karoly Balogh
3b7a347169 m68k-human68k: regenerated Makefile 2024-01-08 02:22:15 +01:00
Karoly Balogh
919b556049 m68k-human68k: fix installation of sysconts and heaptrc units 2024-01-08 02:22:15 +01:00
Pierre Muller
3edd92dab1 Examinc OPT and CROSSOPT instead of FPCOPT in [prerules] to check if syscall unit needs objpas dependency 2024-01-07 23:23:49 +01:00
Sven/Sarah Barth
170c05592b * ensure that the legacy method table has the correct alignment on platforms that require it (e.g. SPARC64) 2024-01-07 18:09:51 +01:00
Pierre Muller
9dc75c3005 Avoid double declaration of seterrno 2024-01-07 14:40:04 +01:00
Pierre Muller
b1e1a107d3 Fix compilation of syscall unit for i386-beos target 2024-01-07 14:13:03 +01:00
Rika Ichinose
35345fe145 Fix FillQWord_SSE2 stack usage. 2024-01-06 21:18:56 +00:00
Michaël Van Canneyt
29f2f12496 * Some code cleanup in Extract* functions. Fixes issue #40587 2024-01-06 21:42:03 +01:00
Karoly Balogh
0bb6ab24a2 m68k-atari: regenerated Makefile 2024-01-06 19:36:50 +01:00
Karoly Balogh
2ec9f59b38 m68k-atari: fix installation of sysconts and heaptrc units 2024-01-06 19:36:50 +01:00
Pierre Muller
f510e6f59b Use GetProcAddress to set GetFinalPathNameByHandle function pointer 2024-01-06 17:54:21 +01:00
Pierre Muller
37ffd4051a Add dependency on objpas unit for syscall unit compiled with -dFPC_USE_LIBC 2024-01-06 17:06:51 +01:00
Pierre Muller
7c9cf75418 Fix syscall unit compilation for i386-linux using -dFPC_USE_LIBC 2024-01-06 17:06:51 +01:00
Pierre Muller
2cb7e44a1b Fix compilation of syscall unit for Linux with -dFPC_USE_LIBC option 2024-01-05 17:46:49 +01:00
Sven/Sarah Barth
c11772deca * ensure that the SysCall unit is also usable when FPC_USE_LIBC is defined 2024-01-04 22:26:15 +01:00
Michaël Van Canneyt
a224f8ded7 * Extended RTTI Type info routines and data structures 2024-01-02 07:09:23 +01:00
Michaël Van Canneyt
50d72bb559 * Define RTTI visibilities 2024-01-02 07:09:23 +01:00
Michaël Van Canneyt
c39e51485c * Avoid range error in comparisons 2024-01-02 07:09:20 +01:00
Sven/Sarah Barth
30bf8047aa * ensure that the field and method tables are always accessed with the default alignment 2024-01-02 07:09:20 +01:00
Sven/Sarah Barth
7eea850726 * TVmtFieldEntry.FieldOffset needs to be SizeUInt instead of PtrUInt, so that it works correctly on the various memory models of i8086 as well
+ added test
2024-01-02 07:09:19 +01:00
Sven/Sarah Barth
c74441323a + add descriptive comment regarding the TVmtField* types 2024-01-02 07:09:19 +01:00
Rika Ichinose
9d8b801e4c Improve i386 fpc_shortstr_to_shortstr(), fpc_shortstr_compare(), and add fpc_shortstr_compare_equal(). 2024-01-01 21:12:52 +00:00
Rika Ichinose
fca0ace070 Improve shortstring Pos() and generic fpc_shortstr_compare(). 2024-01-01 21:12:52 +00:00
Rika Ichinose
0d5f7fa66b Increase non-temporal i386 & x64 Fill* thresholds to 4 Mb. 2024-01-01 18:33:33 +00:00
Rika Ichinose
b7d32e4933 ERMSB-aware Fill* for i386. 2024-01-01 18:33:33 +00:00
Rika Ichinose
8310b169b7 Move ERMS branch into a separate function instead of runtime checks of fast_large_repmovstosb. 2023-12-31 09:54:09 +00:00
Rika Ichinose
f14aced9c5 Attempt to ERMS backward i386 ‘Move’s. 2023-12-31 09:54:09 +00:00
marcoonthegit
95dce3c5a8 * 2023-12-28 19:43:34 +01:00
Karoly Balogh
65234c674a human68k: less fail in regenerating a Makefile 2023-12-23 16:05:32 +01:00
Karoly Balogh
7c3e792bc1 human68k: regenerated Makefile after the previous commit 2023-12-23 15:36:51 +01:00
Karoly Balogh
c38280ef3e human68k: added a totally untested DOS unit to the RTL 2023-12-23 15:36:51 +01:00
Michaël Van Canneyt
ed000e6cd7 * Fix wrong TimeStampToMSecs result on 32-bit. Fixes issue #40522 2023-12-22 11:32:57 +01:00
Michaël Van Canneyt
29e2277d98 * Add CreateAnonymousThread with anonymous procedure 2023-12-18 16:53:14 +01:00
marcoonthegit
d91847f39c * typo fix in previous commit relating to #40558 2023-12-14 09:59:04 +01:00
marcoonthegit
59883da0a0 * fix for drive existence in windows app modus, closes #40558 2023-12-14 09:37:42 +01:00
Rika Ichinose
ecc56d7e68 Attempt to save push/pop ebx on small non-GPR moves. 2023-12-10 13:26:39 +00:00