J. Gareth "Curious Kit" Moreton
d729d5a5b1
* arm: Re-enabled "inline" on "fpc_ansistr_decr_ref" and "fpc_ansistr_incr_ref".
2024-05-22 01:52:01 +01:00
J. Gareth "Curious Kit" Moreton
2519f42854
* arm: Disabled "inline" on "fpc_ansistr_decr_ref" and "..._incr_ref" until arm compiler bug is resolved
2024-05-22 00:29:20 +01:00
florian
a0cae50af6
* rtl part of #35433
2024-05-01 23:15:12 +02:00
Michael VAN CANNEYT
c29d36e369
* string -> shortstring
2023-07-14 17:26:11 +02:00
Michael VAN CANNEYT
d2d3fe6bc3
* Char -> AnsiChar
2023-07-14 17:26:10 +02:00
Sven/Sarah Barth
8595c927a8
* fix #39876 : correctly Read(Str) enum types which have a size smaller than 4 Byte
...
+ added tests
2022-08-26 17:16:29 +02:00
Nikolay Nikolov
bc6ab39ea2
* WebAssembly exceptions fix: fixed raise without parameters in except..end
...
blocks in WebAssembly native and branchful exceptions mode. Fixes #39752
2022-06-21 05:43:35 +03:00
florian
8e4e229a5f
+ DestSize parameter for fpc_Val_UInt functions
2022-01-11 22:10:26 +01:00
Nikolay Nikolov
7afb665c92
+ insert exception flag check and branch after each function call, when
...
compiling in WebAssembly branchful exceptions mode
2021-10-05 02:26:13 +03:00
Nikolay Nikolov
5124ab2521
* cloned the WebAssembly native exceptions code generation and rtl support into
...
the branchful exceptions (which will be modified later, but we're using this
as their starting point, because we can get a snapshot built, without compiler
internal errors)
2021-10-05 00:37:20 +03:00
Nikolay Nikolov
0c3e179652
- get rid of fpc_PushExceptAddr and fpc_PopAddrStack entirely, when compiling in
...
wasm native exceptions mode - these helper routines aren't necessary in this
mode
2021-09-28 03:59:38 +03:00
florian
a5f6505edc
* fix range checking for zero based strings, resolves #39323
2021-09-05 21:03:31 +02: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
florian
1bf58c2a55
+ introduce TExitCode
...
git-svn-id: trunk@47029 -
2020-10-01 20:33:02 +00:00
svenbarth
15141124f4
* restore ability to cycle with 3.0.4 (at least until 3.2.2 is released) after r46890
...
git-svn-id: trunk@46895 -
2020-09-19 13:54:25 +00:00
svenbarth
d3e18ccb5e
* fix for Mantis #37221 : apply adjusted patch by Ondrej Pokorny to allow the use of Copy() on open array parameters (the result will be a dynamic array)
...
+ added test
git-svn-id: trunk@46890 -
2020-09-18 15:00:10 +00:00
florian
f8c1df0852
* ISO mode: handle typed files as text files regarding naming/program parameters, resolves #37415
...
git-svn-id: trunk@46865 -
2020-09-14 20:16:08 +00:00
Jonas Maebe
c262c5dbc9
* synchronised with trunk till r42256
...
git-svn-id: branches/debug_eh@42257 -
2019-06-20 17:21:34 +00:00
florian
f92b8d1681
* changes shift parameter of shift helpers into ALUUInt, as there is an "and" used anyways, this does not change semantics but reduces register pressure on 8 bit targets
...
git-svn-id: trunk@42200 -
2019-06-09 21:44:18 +00:00
Jonas Maebe
0cd0e1614b
* synchronised with trunk till r42105
...
git-svn-id: branches/debug_eh@42106 -
2019-05-19 19:24:25 +00:00
Jonas Maebe
aad87820e6
* abstracted registration of library init/fini routines (to be able to add
...
LLVM support)
git-svn-id: trunk@42104 -
2019-05-19 19:20:47 +00:00
Jonas Maebe
4e73919676
- removed FPC 2.6.x bootstrapping code
...
git-svn-id: branches/debug_eh@40407 -
2018-11-29 21:31:05 +00:00
svenbarth
cc354f9d72
* have the fpc_*_copy compiler intrinsics reference the intrinsic symbol they belong to
...
git-svn-id: trunk@39816 -
2018-09-26 21:33:46 +00:00
florian
71e71ad267
* fix currency division on non x86 32 bit targets
...
* disable fix for #33439 during bootstrapping with 3.0.x, as 3.0.x cannot compile the currency division without the fix above
git-svn-id: trunk@38558 -
2018-03-17 22:44:44 +00:00
florian
c230f81719
+ support for <dyn. array>+<dyn. array>, resolves #30463
...
git-svn-id: trunk@38406 -
2018-03-04 16:12:43 +00:00
svenbarth
916ff0b92c
+ extend Concat() with support for dynamic arrays
...
+ added test
git-svn-id: trunk@37723 -
2017-12-12 19:54:08 +00:00
florian
7817102727
* patch by Christo Crause to implement 8 bit multiplications for "mul-less" avr types, resolves issue #31925
...
git-svn-id: trunk@37380 -
2017-10-01 20:34:44 +00:00
nickysn
34113b930b
* removed the checkoverflow: boolean parameter of the software mul helpers;
...
replaced it with a separate "_checkoverflow" version of each helper
git-svn-id: trunk@36344 -
2017-05-26 15:34:26 +00:00
svenbarth
72c595eefe
+ implement support for Insert() for dynamic arrays; the parameter that is inserted can be a dynamic or static array of the same type, an array constructor or a single element of the arrays type; all that is determined based on the second type
...
+ added test
git-svn-id: trunk@36307 -
2017-05-23 19:11:49 +00:00
nickysn
b14f277e8f
+ use rtl helpers for 64-bit shl/shr/sar/rol/ror modify in place operations, on
...
platforms that don't have native 64-bit implementation of the corresponding
64-bit shift/rotate operation
git-svn-id: trunk@35787 -
2017-04-13 15:24:32 +00:00
florian
7213a13081
* split fpc_mul_<64 bit> into separate procedures with and without overflow checking
...
git-svn-id: trunk@35454 -
2017-02-19 19:15:14 +00:00
florian
29a2c433f7
* -Sr option for iso mode: in case no command line parameter is passed, the file name for program parameters is derived from their variable name
...
git-svn-id: trunk@35257 -
2017-01-07 14:50:58 +00:00
florian
0c238b72e5
+ set/longjmp implementation for avr
...
git-svn-id: trunk@34971 -
2016-11-26 18:33:15 +00:00
nickysn
e1792e712a
* changed the 'size' parameter of fpc_zeromem and fpc_fillmem from ptruint to sizeuint
...
git-svn-id: trunk@34741 -
2016-10-18 15:42:29 +00:00
florian
9c81e90e08
+ extension to iso mode: reset/rewrite can take a file name as a second parameter
...
git-svn-id: trunk@34726 -
2016-10-16 07:55:08 +00:00
svenbarth
26a2ddd3d6
+ extend Delete() intrinsics with Delphi compatible support for dynamic arrays. Also fixes Mantis #30306
...
git-svn-id: trunk@34455 -
2016-09-08 17:15:10 +00:00
svenbarth
248490bbf1
* declare fpc_zeromem and fpc_fillmem as inline to avoid one call
...
git-svn-id: trunk@33994 -
2016-06-15 20:16:16 +00:00
svenbarth
fd66d70449
innr.inc:
...
+ add constants for the Delete and Insert intrinsics
compproc.inc:
* use the new constants instead of magic values to denote the relationship of the compilerprocs to the intrinsics
git-svn-id: trunk@33901 -
2016-06-04 08:58:38 +00:00
svenbarth
a2c9c75e97
Convert Insert() and Delete() to intrinsics in preparation for dynamic array support for these two procedures.
...
Since overloading compilerprocs does not work each procedure got its own unique name, but they are using the new compilerproc extension to map them to the Insert and Delete symbol so that error messages can be shown with the respective name for the procedure declarations instead of fpc_shortstr_delete for example.
git-svn-id: trunk@33895 -
2016-06-03 21:25:49 +00:00
nickysn
c78f406d99
+ implemented proper stack checking for the i8086
...
git-svn-id: trunk@33787 -
2016-05-24 23:57:47 +00:00
Jonas Maebe
2afd8eb802
- removed FPC_HAS_STR_CURRENCY-related code, FPC 2.6.4 has it
...
git-svn-id: trunk@31692 -
2015-09-15 11:51:48 +00:00
Jonas Maebe
e2da416270
+ new file for llvm intrinsics (using external compilerprocs)
...
git-svn-id: trunk@31407 -
2015-08-24 22:06:56 +00:00
florian
ba1297b1ab
+ provide also 8 and 16 bit div/mod helper
...
* tmoddivnode.first_moddivint does not force a 32 bit helper, the used helper depends now on the resultdef type set by tmoddivnode.pass_typecheck
git-svn-id: trunk@31195 -
2015-07-05 20:16:50 +00:00
Jonas Maebe
3f736f6114
* handle the loading of VMT entries at the node level, so it's done in a
...
type-safe way (for LLVM, and also internal consistency checking between
the VMT as generated in nobj.pas and ncgvmt.pas)
o also converted the VMT validity checking to the node level
git-svn-id: trunk@30950 -
2015-05-31 16:50:47 +00:00
florian
98856437b2
* disable fpc_chararray_enum for now on avr because the register allocator cannot currently handle it
...
git-svn-id: trunk@30380 -
2015-03-29 19:46:02 +00:00
Jonas Maebe
67b8aceaee
* synchronized with privatetrunk till r30095
...
git-svn-id: branches/hlcgllvm@30101 -
2015-03-05 20:32:15 +00:00
michael
3563944752
* Patch to allow changing TVarRec data (bug ID 26773)
...
git-svn-id: trunk@28995 -
2014-11-05 22:17:54 +00:00
Jonas Maebe
5c75b6dd6b
* synchronised with trunk up till r28402
...
git-svn-id: branches/hlcgllvm@28403 -
2014-08-13 16:04:30 +00:00
nickysn
5edbd1cd03
* fixed i8086 ifdef (should be ifdef cpui8086, not i8086, because that's the
...
rtl, not the compiler)
git-svn-id: trunk@28347 -
2014-08-08 21:37:17 +00:00
nickysn
13646c7afe
+ added rtl helper for huge pointer subtraction
...
git-svn-id: trunk@28178 -
2014-07-06 19:15:14 +00:00