Pierre Muller
afc9acda37
Change wrong "$macros off" into "$macro off"
2022-10-22 15:54:49 -05:00
ccrause
991460c4ee
Rewrite fpc_shortstr_concat_multi for AVR to not use a temporary shortstring to reduce RAM usage.
2022-10-19 20:18:56 +00:00
Jonas Maebe
0758aa1143
FPU exception mask: generlised system unit interface
2022-10-17 19:43:01 +00:00
florian
9f293df425
* export DynArrayAssign, resolves #39897
2022-10-06 22:56:38 +02:00
Pierre Muller
5913434ba9
Add DISABLE_SYSTEMINLINE check to be able to avoid setting SYSTEMINLINE macro
2022-09-20 22:39:28 +01: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
florian
799c22d553
Revert " * patch by Rika: SwapEndian([u]int16) has unnecessary “and $FFFF”, resolves #39814 "
...
This reverts commit f92102a5f2
.
The and $ffff is needed to avoid range check warnings when the function is inlined with a constant parameter
2022-07-15 18:56:11 +02:00
florian
f92102a5f2
* patch by Rika: SwapEndian([u]int16) has unnecessary “and $FFFF”, resolves #39814
2022-06-27 22:45:01 +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
marcoonthegit
5418ccf31e
* fix bootstrapping *BSD with 3.2.2, which isn't flagged as supporting weakexternal on those targets
2022-06-18 14:52:24 +02:00
marcoonthegit
46de243fe6
* fix bootstrap with 3.2.2, whi
2022-06-18 14:50:13 +02:00
Sven/Sarah Barth
ae346a87a1
* ensure that the heaptrc unit can be used on Linux and BSD without linking against the C library
2022-06-15 22:55:13 +02:00
florian
1d8b21bcfc
* align memory blocks in cmem at least to stack alignment boundaries, resolves #39730
2022-06-04 22:27:51 +02:00
Jonas Maebe
25e832940c
llvmdbg: support for generating debug information for local/para varsyms
...
Note that not all symbols are covered yet, because absolutevarsyms are not
yet supported and those are e.g. used for function result aliases.
Additionally, not all types are fully supported yet.
2022-06-04 22:26:40 +02: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
florian
08228d7fb3
* revert a650d346f1
for now as it apparently does
...
not work with all language encoding
2022-02-26 21:57:42 +01:00
florian
04145589a9
* improved fpc_frac_real
2022-02-18 22:47:55 +01:00
florian
67fedc6b5b
* handle frac(+/-Inf or Nan) correctly in the software implementation, resolves #39584
2022-02-17 22:00:27 +01:00
florian
308bc29465
* setting of MIPS64(EL) in system.inc fixed
2022-02-08 23:08:13 +01: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
Sergey Larin
ee2d313aa0
Added TranslatePlaceholderCP in fpc_Read_Text_AnsiStr procedure.
...
This is a small optimization.
2022-01-26 20:28:17 +00:00
Sergey Larin
a8b0e0ed65
Added TranslatePlaceholderCP before Wide2AnsiMoveProc call.
...
In the fpc_setstring_ansistr_pwidechar procedure, before calling Wide2AnsiMoveProc, the translation cp = 0 to the DefaultSystemCodePage has been added.
Note: In all other places such translation is present.
2022-01-26 20:28:17 +00:00
florian
366aedc6d8
* more false positives of unintialized varibles worked around
2022-01-22 17:36:19 +01:00
florian
115f83794b
* avoid warning/error on uninitialized variable
2022-01-22 14:13:59 +01:00
florian
a7a689ca16
* fpc_AnsiStr_To_ShortStr: set length before moving, should result in better memory access pattern
2022-01-20 22:14:33 +01:00
florian
02abad58d8
* some fixes for 8 Bit CPUs
2022-01-19 22:03:09 +01:00
florian
07cd469ade
Merge branch 'main' into val_range_check
...
# Conflicts:
# rtl/inc/sstrings.inc
2022-01-19 21:30:58 +01:00
florian
718709c87d
* all val helpers now use the ValValueArray
2022-01-17 22:46:19 +01:00
florian
2f8750924f
* patch by Bart B: fixes fpc_val_word_shortstr() and refactors fpc_val_longword_shortstr() so that it uses the same algorithm and naming conventions as the other unsigned val-helpers.
2022-01-16 23:08:37 +01:00
florian
5f089afdfb
* unified ValueArray
2022-01-15 22:36:57 +01:00
florian
55f0103248
o patch by Bart B:
...
* fixes fpc_Val_UInt_Shortstr, part of #15633
* fpc_val_qword_shortstr uses the ValueArray constant
2022-01-15 22:18:38 +01:00
florian
9a90db79c3
* patch by Bart B to fix fpc_val_smallint_shortstr similiar to #39406 , resolves #39528
2022-01-13 22:51:10 +01:00
florian
8e4e229a5f
+ DestSize parameter for fpc_Val_UInt functions
2022-01-11 22:10:26 +01:00
florian
fc3b635013
* patch by Bart B to fix the value of Code for unsigned types if the input is negative, resolves #39523
2022-01-11 21:29:56 +01:00
florian
f39a6a7755
* fpc_Val_SInt_ShortStr: bug fixes and improvements by Bart B
2022-01-08 14:45:12 +01:00
florian
38c06e64c7
* optimze case
...
* few formatting changes
2022-01-07 23:43:59 +01:00
florian
05072d0d82
* updated version by Bart B
2022-01-07 23:21:12 +01:00
florian
4c296af05e
* reordered condition so they can be evaluated quicker
2022-01-07 19:36:34 +01:00
florian
d29a482cd1
* fixes for fpc_Val_SInt_ShortStr by Bart B
...
+ new test for fpc_Val_SInt_ShortStr
+ benchmark
2022-01-07 19:19:55 +01:00
florian
2a93e65511
* seperator => separator
2022-01-02 13:12:33 +01:00
Karoly Balogh
c298c0e0da
rtl/osheap: fixed a dumb reversed condition in osheap/SysAllocMem()
2021-12-26 15:56:34 +01:00
florian
781b2d0a80
* patch by Rika: second part of #39496 , resolves #30496
...
+ extended test
2021-12-25 20:01:32 +01:00
florian
c0979bbc0c
* TObject.InitInstance got very big so inlining has no advantage anymore, resolves #39494
2021-12-25 19:09:22 +01:00
marcoonthegit
4568c77f57
* implemented stringofchar unicodestring, bug #39483
2021-12-14 15:07:43 +01:00
Jonas Maebe
4426d0da7a
Fixed variant discriminator types
2021-10-31 21:13:35 +01:00
florian
ee10850a57
* patch by Sergey Larin: Reducing and aligning the size of TAnsiRec, TUnicodeRec for CPU64, resolves #38018 :
...
For CPU64, the size of record TAnsiRec and TUnicodeRec is 16 bytes instead of 24.
Which is very good also because of the alignment. when allocating memory, the address
of the first character of the string will be aligned on the 16-byte boundary.
At the same time, the useless Dummy field, which is needed in CPU64 for exactly alignment, has been removed.
For CPU32 (and CPU16), the record size has not changed, so procedures such as
fpc_AnsiStr_Decr_Ref, implemented in assembler (see i386, arm), remained working correctly.
* tests adapted
2021-10-17 11:13:29 +02:00
Nikolay Nikolov
f20de5d583
* fixed padding in the filerec to match textrec even on platforms where
...
sizeof(pointer)<>sizeof(codepointer), like in the medium and compact i8086
memory models
2021-10-13 02:02:50 +03:00
florian
91cf1774dd
* replace MT random generator by Xoshiro128**, resolves #38237
2021-10-05 22:20:22 +02: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