Karoly Balogh
fef24dabd6
human68k: minimal DOS calls error handling/inoutres mapping
2023-12-03 09:54:05 +01:00
Karoly Balogh
7ecb19f906
human68k: fixed a dumb typo on the bss start calculation. fixes FPC binaries under run68.
2023-12-01 21:03:07 +01:00
Karoly Balogh
42abb3395a
human68k: implemented some basic file and I/O handling functions
2023-12-01 04:05:39 +01:00
Karoly Balogh
442e9d2573
human68k: RTL works enough now to run a hello, world!
2023-11-30 23:43:27 +00:00
Karoly Balogh
e55f6dbb08
human68k: actually tell the build system where the rtl directory is
2023-11-30 23:43:27 +00:00
Karoly Balogh
679f2f75b3
human68k: regenerated Makefiles
2023-11-30 23:43:27 +00:00
Karoly Balogh
c4c3c2a7aa
human68k: add an RTL skeleton, almost nothing is implemented yet
2023-11-30 23:43:27 +00:00
Karoly Balogh
7bcd8dc883
human68k: have a README for the RTL
2023-11-30 23:43:27 +00:00
Karoly Balogh
cde3dd3a87
m68k: first bit of a Human68k RTL - a very dummy startup code
2023-11-30 23:43:27 +00:00
Michaël Van Canneyt
ff8511f2f1
* Define INVALID_HANDLE_VALUE for Delphi compatibility
2023-11-29 15:03:12 +01:00
Michaël Van Canneyt
7e4aca384f
* Some delphi compatibility issues solved (PtrToNil and TGUID operator)
2023-11-29 14:34:27 +01:00
Rika Ichinose
6f8fb64d36
Fix a typo in CompareWord_Plain.
2023-11-28 22:17:20 +00: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
Rika Ichinose
b468793c63
Index/Compare refined by hand instead of mostly being GCC output.
2023-11-21 22:32:16 +00: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
2ad20b3787
Add pseudo PIC code for 32-bit powerpc, probably wrong :-(
2023-11-20 01:05:11 +03:00
Michaël Van Canneyt
6eac18e8c1
* Add some missing exception classes
2023-11-19 16:20:08 +01:00
florian
5be05044dd
* detect avx support also in the i386 system unit
2023-11-18 22:47:47 +01:00
florian
704ad21b23
+ centralized cpu capability detection
2023-11-18 22:28:50 +01:00
Rika Ichinose
c07f36b30b
Post-modern CompareByte for x86-64/SSE2.
2023-11-16 21:42:51 +00:00
Rika Ichinose
9f491a40c7
Post-modern CompareByte for i386/SSE2.
2023-11-15 22:13:01 +00:00
Michaël Van Canneyt
45021498cf
* Add unicode AnsiLastChar overload
2023-11-14 10:26:49 +01:00
Michaël Van Canneyt
ea63bfb32f
* Fix string type in AnsiLastChar declaration
2023-11-14 10:23:34 +01:00
Rika Ichinose
78368d4432
Specialized IndexQWord for i386.
2023-11-12 17:00:07 +00:00
ccrause
652f21b656
RP2040 support based on modification by Michael Ring ( https://github.com/michael-ring/freepascal ).
2023-11-11 17:45:23 +00:00
Michaël Van Canneyt
9f62b33ef0
* Add ChangeFilePath
2023-11-10 18:14:03 +01:00
Michaël Van Canneyt
f0b714d5ad
* Add pthread_mutex_timedlock, sem_timedwait may be needed in future
2023-11-10 14:13:23 +01:00
Rika Ichinose
ce1a82a1e4
Add potentially required barriers to TEnconding.
2023-11-10 02:36:04 +03:00
marcoonthegit
b6999496a7
* add pointer variant fo createconsolescreenbuffer, move old VAR definition to redef for compat.
2023-11-09 14:17:14 +01:00
Michaël Van Canneyt
8fb39925eb
* Implement ListIndexError
2023-11-09 11:43:19 +01:00
Michaël Van Canneyt
972b961f2b
* Add delphi compatible constant
2023-11-09 11:23:13 +01:00
Michaël Van Canneyt
9b9623b289
* Fix wince/nativent compilation
2023-11-09 11:09:07 +01:00
Rika Ichinose
d04547eb83
Replace TEncoding.FLock with interlocked operations.
2023-11-09 09:11:00 +00:00
Michaël Van Canneyt
7bd8ac25d4
* Regen Makefiles with correct defines for some lineinfo units
2023-11-08 18:15:52 +01:00
Michaël Van Canneyt
ebed69e858
* Fix name of lineinfo
2023-11-08 17:12:37 +01:00
Michaël Van Canneyt
ab3b7f8f69
* Do not use namespace prefix for lnfodwarf
2023-11-08 17:08:03 +01:00
Michaël Van Canneyt
2f9c1e8be4
* line info may not use namespaces, referenced in compiler
2023-11-08 17:06:19 +01:00
Michaël Van Canneyt
2444c5ec79
* Not all OSes have NilHandle
2023-11-08 14:26:17 +01:00
Michaël Van Canneyt
b9ef7416f0
* Fix wrong typecast
2023-11-08 14:17:55 +01:00
Michaël Van Canneyt
0534810703
* Additional Delphi-compatible constant
2023-11-08 12:07:06 +01:00
Michaël Van Canneyt
14e9446c08
* Add ReadDouble
2023-11-08 12:04:53 +01:00
Michaël Van Canneyt
386f31ef4c
* Add TReader.ReadPrefix for Delphi compatibility
2023-11-08 11:56:12 +01:00
Michaël Van Canneyt
54d692c7d6
* Add SkipValue to TReader
2023-11-08 11:50:49 +01:00
Michaël Van Canneyt
d2f3426bda
* modeswitch needed
2023-11-08 11:29:44 +01:00
Michaël Van Canneyt
972b5181eb
* Delta stream support
2023-11-08 11:27:21 +01:00
Michaël Van Canneyt
7bcc949308
* Add crossproduct and normalize to TPointF
2023-11-08 10:26:09 +01:00
Michaël Van Canneyt
8179aadb2c
* Add TStreamOriginalFormat for Delphi compatibility
2023-11-08 09:30:52 +01:00
Michaël Van Canneyt
094f8a7be7
* Add GetMulticastObserver
2023-11-08 08:36:21 +01:00
Michaël Van Canneyt
594090b215
* Add delphi-compatible observers to classes
2023-11-08 00:04:18 +01:00
Rika Ichinose
854d944cfa
Faster string concatenations.
2023-11-05 14:59:42 +00:00
Michaël Van Canneyt
25c75b1784
* Ensure null-terminated strings. Patch by modersohn, fixes issue #40499
2023-11-03 17:01:03 +01:00
Michaël Van Canneyt
82bc91e6cf
* Make explicit how much better FPC is when compared to Delphi ;)
2023-11-03 11:52:14 +01:00
Michaël Van Canneyt
be0e06bd50
* Delphi compatibility methods, unicode character type helper
2023-11-03 11:08:20 +01:00
Michaël Van Canneyt
2ad272f03f
* Correct dependency of (System.)Character, or resulting unit is unusable
2023-11-02 12:10:36 +01:00
Michaël Van Canneyt
122ef8bb76
* Make sure it compiles with 3.2.2
2023-11-01 23:37:12 +01:00
Michaël Van Canneyt
df67c18f7d
* Some delphi compatibility constants
2023-11-01 23:23:41 +01:00
Michaël Van Canneyt
e4ebf46df3
* Some delphi compatibility types and consts
2023-11-01 23:19:56 +01:00
Michaël Van Canneyt
24d8478650
* Missing functions
2023-11-01 22:48:14 +01:00
Michaël Van Canneyt
81e2db47a9
* Add some methods to TFormatSettings for Delphi compatibility
2023-11-01 21:38:55 +01:00
Michaël Van Canneyt
33950a5e22
* Add SArgumentNil
2023-11-01 21:38:55 +01:00
Michaël Van Canneyt
038f054bdc
* Add varUInt32 alias for delphi compatibility
2023-11-01 21:38:55 +01:00
Michaël Van Canneyt
80d471a9f1
* Add HINST for Delphi compatibility
2023-11-01 21:38:55 +01:00
Rika Ichinose
0d3d4918b3
Don’t allow generic fpc_pchar_length to arbitrarily over-read.
2023-11-01 20:04:40 +00:00
Rika Ichinose
873492006d
Working i386 fpc_pchar_to_shortstr; previous version didn’t support length limits smaller than 255 and was often slower.
2023-11-01 20:04:40 +00:00
Rika Ichinose
8d1d763a1a
Don’t use local shortstring in generic fpc_pchar_to_shortstr, move directly to the destination.
2023-11-01 20:04:40 +00:00
Rika Ichinose
0bc1d8d446
Deny effective RTM support if CPUID bit RTM_ALWAYS_ABORT is set.
2023-11-01 17:10:14 +00:00
florian
b2a13077c0
* redefine also PPChar and PPPChar depending on the string type mode, resolves #40491
2023-10-31 23:13:22 +01:00
Rika Ichinose
e00ab51185
On i386 and x86_64, add cpu.CPUID — high-level wrapper to CPUID instruction, and cpu.CPUBrandString — convenience for CPUID leaves 80000002, 80000003, and 80000004.
2023-10-31 21:20:45 +03:00
Michaël Van Canneyt
b3d3b65bdf
* Add TPointF.Zero
2023-10-30 14:51:39 +01:00
Pierre Muller
1529ff773f
Makefile's regenerated after: Replace remaining SYSINITUNITS variable by SYSINIT_UNITS
2023-10-30 09:34:51 +00:00
Pierre Muller
ee62aa0c13
Replace remaining SYSINITUNITS variable by SYSINIT_UNITS
2023-10-30 09:34:07 +00:00
Michaël Van Canneyt
44cf5d776f
* Add some constants for Delphi compatibility
2023-10-30 09:54:43 +01:00
Michaël Van Canneyt
6045b3a6bd
* Add Delphi-compatible DisposeOf and friends.
2023-10-30 09:17:01 +01:00
Michaël Van Canneyt
d587f48892
* Fix typos, missing sparc
2023-10-27 09:57:35 +02:00
Michaël Van Canneyt
9904727f75
* add TClassicByteDynArray for delphi compatibility
2023-10-26 23:29:43 +02:00
Michaël Van Canneyt
14fe7203fe
* Add TClassicStringDynArray for Delphi compatibility
2023-10-26 23:27:27 +02:00
Michaël Van Canneyt
21e99a0a1e
* TOSVersion for Delphi compatibility
2023-10-26 22:15:36 +02:00
Rika Ichinose
0e426db5de
x86_64.inc: shorten Interlocked*, perform macro-fused test+jz in Index* early.
2023-10-25 21:05:21 +00:00
Michaël Van Canneyt
a88dd9197f
* Some delphi compatibility methods/types for actions
2023-10-18 16:49:39 +02:00
Pierre Muller
e523b9b282
Move setting of SYSTEMDIR variable to prerules to get correct source directory for system unit on BSD targets
2023-10-16 21:44:17 +02:00
Michaël Van Canneyt
bad90711ef
* Do not use comp type, use int64 instead. Fix issue #40469
2023-10-16 10:25:52 +02:00
florian
4794e5ffcf
* improve math.power as suggested by Paolo Valle, resolves #40461
2023-10-15 23:17:24 +02:00
Michaël Van Canneyt
2854f08daa
* Add boolean %b format specifier
2023-10-15 23:06:02 +02:00
Michaël Van Canneyt
bc00d5ae06
* Forgot CenterAt
2023-10-15 22:23:00 +02:00
Michaël Van Canneyt
e28add8b31
* Add some missing identifiers to TRectF. Fixes issue #40068
2023-10-15 16:54:15 +02:00
marcoonthegit
6b7afc6b08
* added some winnls constants. Reworked locale_ and cal_ constants for easier maintenance.
2023-10-15 12:22:12 +02:00
Michaël Van Canneyt
2da416c4ea
* Some optimizations for FloatToStr (20% gain). Fixes issue #40137
2023-10-14 17:26:05 +02:00
Michaël Van Canneyt
08821f9422
* Fix issue #40180
2023-10-13 17:19:36 +02:00
Pierre Muller
71c6b6be0c
Add also DOSDIR and CLASSESDIR
2023-10-09 11:38:14 +02:00
Pierre Muller
2815273cf0
Set SYSUTILSDIR to unix dir in linux Makefile.fpc
2023-10-09 11:19:21 +02:00
Pierre Muller
08f9aaa6e6
Regenerate Makefile's with centralized SYSTEMUNIT variable
2023-10-09 01:02:28 +02:00
Pierre Muller
cb2d675732
Remove OS specific SYSTEMUNIT variable setting
2023-10-09 01:02:28 +02:00
Pierre Muller
b317f47029
Set SYSTEMUNIT variable globally inside inc/Makefile.rtl
2023-10-09 01:02:28 +02:00
Pierre Muller
e3f4676fb0
Remove softfpu from unit list for wasm32-embedded target
2023-10-03 14:25:52 +00:00
Pierre Muller
e11838c5bd
Regenerate amiga, embedded, and go32v2 Makefile's
2023-10-02 22:27:17 +02:00
Pierre Muller
261e66fb84
go32v2 dos unit depends on go32 unit.
2023-10-02 22:27:17 +02:00
Pierre Muller
9845d15162
Cleanup sinclairql Makefile.fpc
2023-10-02 22:27:17 +02:00
Pierre Muller
9a9e2e4ae5
amiga and embedded Makefile.pfc changes
...
Remove RESUNIT rule from amiga/Makefile.fpc, as fpintres and fpextres are both treated inside inc/Makefile.rtl
Use CPU_COMMON_UNITS for embedded rules.
2023-10-02 22:27:17 +02:00
Michaël Van Canneyt
ab4db7f475
* Fix OnChange being fired twice when adding an object. Fixes issue 40261
2023-10-02 22:17:59 +02:00
Michaël Van Canneyt
113add75cc
* Fix issue #40454
2023-10-02 10:15:24 +02:00
Pierre Muller
ca0fbc1de6
Regenerate Makefile's after system rule changes
2023-09-29 17:44:35 +02:00
Pierre Muller
70d25e3b60
Remove OS spefic rules for system unit.
...
Use SYSDEPS variable to add specific dependencies.
Override FPC_SYTEM_OPT to add OS specific options.
Use SYSTEMUNIT variable.
2023-09-29 17:44:35 +02:00
Pierre Muller
b9544ad342
Add SYSTEMDIR variable (needed for BSD OSes)
2023-09-29 17:44:34 +02:00
Pierre Muller
da1bffd3a6
Regen
2023-09-29 17:44:34 +02:00
Pierre Muller
8533759737
syscall unit doesn't depend on unixtype, nor baseunix units for BSD OSes
2023-09-29 17:44:34 +02:00
Pierre Muller
c69bfcace2
Regenerate Makefile's after changes for DOTTED support
2023-09-27 17:59:46 +02:00
Pierre Muller
eea13aadd4
Convert go32v2 specific units to DOTTED
2023-09-27 17:55:17 +02:00
Pierre Muller
fb80deb529
Convert watcom unit rule to DOTTED
2023-09-27 17:45:27 +02:00
Pierre Muller
7a1195976f
Add dependency of dos unit on winprocs and wintypes units for win16 OS
2023-09-27 17:07:01 +02:00
Pierre Muller
c3fddb91ce
Regenerate Makefile's after changes for DOTTED support
2023-09-27 16:50:05 +02:00
Pierre Muller
fa1ec0e291
Fix TTHREADINCDIR value for haiku OS
2023-09-27 09:02:52 +02:00
Pierre Muller
f462aa9cf1
Remove obsolete handling of RELEASE, done by fpcmake
2023-09-27 09:02:52 +02:00
Pierre Muller
97b9682556
Modify rules for freebsd unit for DOTTED
2023-09-27 09:02:51 +02:00
Pierre Muller
707f79d52d
Remove references to crt and objects units
2023-09-27 08:19:22 +02:00
Pierre Muller
dd99cad0ab
Remove references to sockets unit, now in rtl-extra package
2023-09-27 08:19:22 +02:00
Pierre Muller
fb43582e94
Remove references to crt and graph units
2023-09-27 08:19:22 +02:00
Pierre Muller
ad33900090
Remove rules and references to matrix and ucomplex, which are in rtl-extra package
2023-09-27 00:10:10 +02:00
Pierre Muller
c844b60fe1
Remove obsolete rules in gba, nds and wii Makefile.fpc
2023-09-27 00:01:06 +02:00
Pierre Muller
a6353fecf0
Add tthread.inc dependency for classes unit using TTHREADINCDIR variable
2023-09-26 23:52:37 +02:00
Pierre Muller
38e3a37b82
Remove OS specific classes rules, setting CLASSES_DEPS_OS if needed
2023-09-26 23:35:34 +02:00
Pierre Muller
7438ea1d83
Remove references to fmtbcd (which is located in rtl-extra package)
2023-09-26 23:34:24 +02:00
Pierre Muller
42a1e42708
Set CLASSESDIR for OSes using unix/classes.pp source
2023-09-26 23:24:02 +02:00
Pierre Muller
4f055a9254
Add dependency of classes unit on sortbase
2023-09-26 23:23:21 +02:00
Pierre Muller
71ebbd7cc3
Use CLASSESUNIT variable instead of classes
2023-09-26 23:14:49 +02:00
Pierre Muller
820830cacc
Remove references to variants, varutils, dateutil and fpmkunit units, all moved to packages long ago
2023-09-26 23:03:26 +02:00
Pierre Muller
f8e277ef0f
Regenerate Makefile's after changes for DOTTED support
2023-09-26 22:48:55 +02:00
Pierre Muller
abf3ce721c
Remove OS specific rules for sysutils unit and set SYSUTILS_DEPS_OS as needed
2023-09-26 22:48:55 +02:00
Pierre Muller
18c8066528
Modify POSIXINC value and set SYSUTILSDIR to POSIXINC for qnx OS
2023-09-26 22:48:55 +02:00
Pierre Muller
0ad0833294
Set SYSUTILSDIR variable for OSes using unix/sysutils.pp main source
2023-09-26 22:48:55 +02:00
Pierre Muller
541ba50269
Revert wrong substitution of classes and sysutils subdirectories inside wildcard calls
2023-09-26 22:48:55 +02:00
Pierre Muller
cbe5fabd3d
Regenerate Makefile's after changes for DOTTED support
2023-09-26 15:31:09 +02:00
Pierre Muller
9f38ebf2c9
Remove OS specific dos unit rules, set DOSDIR or DOS_DEPS_OS as needed and use DOSUNIT variable
2023-09-26 15:31:02 +02:00
Pierre Muller
b36884c171
Remove OS specific rules for msmouse unit and use MSMOUSEUNIT variable
2023-09-26 15:31:02 +02:00
Pierre Muller
0e68dc575b
Remove obsolete rule for gpm unit (now in rtl-extra package)
2023-09-26 15:31:02 +02:00
Pierre Muller
bb3f9a2454
Remove OS specific rules for cpu unit and use CPUUNIT variable
2023-09-26 15:31:02 +02:00
Pierre Muller
97c60e25a9
Replace sortbase by $(SORTBASEUNIT) in all OS Makefile.fpc
2023-09-26 15:31:02 +02:00
Pierre Muller
6b636fc22d
Replace all objpas unit references by $(OBJPASUNIT) OS Makefile.fpc
2023-09-26 15:31:02 +02:00
Pierre Muller
bb20f8f318
Replace all objpas$(PPUEXT) by $(OBJPASUNIT)$(PPUEXT) in inc/Makefile.rtl
2023-09-26 14:21:36 +02:00
Pierre Muller
ececf26d87
Regenerate Makefile's after change to inc/Makefile.rtl
2023-09-26 01:02:46 +02:00
Pierre Muller
b12932c7f8
Handle specific main cwstring.pp source for android OS
2023-09-26 01:02:46 +02:00
Pierre Muller
48ea716826
Set special value for RTLDEFSINCDIR variable
...
for andrioid and targets using AMIINC variable.
Add rtldefs.inc dependency for cwstring unit,
with RTLDEFSINCDIR directory.
2023-09-26 01:02:46 +02:00
Pierre Muller
2f8c0c091c
Replace typinfo and types unit by TYPINFOUNIT and TYPESUNIT
2023-09-26 01:02:45 +02:00
Pierre Muller
3daac41f3d
Handle typinfo unit for DOTTED
2023-09-26 01:02:45 +02:00
Pierre Muller
9db23894a5
Handle types unit for DOTTED
2023-09-26 01:02:45 +02:00
Pierre Muller
d956be796b
Add windows specific unit dependencies for types unit
2023-09-26 01:02:45 +02:00