Commit Graph

3664 Commits

Author SHA1 Message Date
Rika Ichinose
f0811e448d Improve generic CompareWord. 2023-02-25 22:52:38 +00:00
florian
15f29b8fa0 * patch by Rika: Perform 32-bit random if the bound fits into 32 bits at runtime, resolves #40171 2023-02-25 19:57:50 +01:00
Rika Ichinose
ee5b9e53a9 Improve generic CompareDWord. 2023-02-19 18:07:46 +00:00
Jinyang He
664c613d96 add loongarch64 rtl support 2023-02-05 19:18:48 +00:00
Jonas Maebe
ffa14ee448 Utf8CodePointLen: remove pointer arithmetic to fix JVM compatibility 2023-02-05 10:58:59 +01:00
Rika Ichinose
b38d13577f Make Utf8CodepointLen adhere to the Unicode standard somewhat more and know all of the Unicode 15.0 combining characters. 2023-01-30 13:51:31 +00:00
florian
84e7a17b67 * patch by Rika: optimize Pos(), resolves #40088 2023-01-23 22:51:40 +01:00
florian
a06c034189 * cleanup of outdated defines 2023-01-20 23:31:04 +01:00
florian
218da184e6 * patch by Rika: Improve generic CompareByte, resolves #40120 2023-01-19 22:44:25 +01:00
Rika Ichinose
30e3d93d57 Make generic Index* faster and denser. 2023-01-09 21:26:00 +00:00
florian
7bd5613954 * fix error on win64 and concerns about pulling math into the windows unit by a local arctan2 copy 2022-12-30 22:28:49 +01:00
marcoonthegit
5fb88cef00 * Tpoint.Angle initial version using arctan2 2022-12-30 19:34:03 +01:00
Michaël Van Canneyt
2c3b78682a * Add IsConstValue 2022-11-29 09:05:42 +01:00
Michaël Van Canneyt
348fbfde9d * Add stub for IsManagedType 2022-11-28 10:39:17 +01:00
florian
c1ec558d0a * first (modified, added a comment) patch by Rika to improve generic Index*, part of #39996 2022-11-17 23:11:23 +01:00
Pierre Muller
5e0eb521c4 Fix use of unaligned for big endian code 2022-11-15 21:48:40 +00:00
ccrause
031c16dd3c Fix potential overflow when incrementing 8 bit high value of res. 2022-11-05 11:19:58 +02:00
Pierre Muller
9b6926c5f5 Introduce CTYPES_INLINE, enabled by default but which can be disabled using -dDISABLE_INLINE for ctypes unit 2022-11-04 22:21:29 +00:00
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