Commit Graph

69104 Commits

Author SHA1 Message Date
J. Gareth "Curious Kit" Moreton
2e441609be * Fixed issue where TryCmpCMovOpts produced bad
code if the last MOV got moved.
2024-01-27 19:00:50 +00:00
Michaël Van Canneyt
bcaae57798 * Replace widestring with unicodestring (faster on windows). Fixes issue #40613 2024-01-27 17:45:10 +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
d901f72002 * named test properly 2024-01-26 21:43:18 +01: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
Pierre Muller
11b0b9dc57 Use reverse_byte to write constant sets in cross-endian configuration 2024-01-25 11:04:42 +00:00
Pierre Muller
5eda6e027d * Add internal_endian field to tppudumpfile class
* Check that this new field is indeed set, once only, by
    header flags.
  * Use this flag to extract high and low parts of floatx80
    record for soft floatx80 support.
2024-01-25 11:00:28 +00:00
Pierre Muller
71ba76532b * Fix writing of 'comp' type depending on FPC_COMP_IS_INT64 macro.
* Fix writing of floatx80 on systems with gaps due to alignment requirements.
2024-01-25 10:17:11 +00:00
Pierre Muller
8ae28b4846 Fix writing of low qword of floatx80 real type into 10-byte array on big endian systems 2024-01-25 10:13:21 +00:00
Pierre Muller
3db060e47a Use writeUInt32LE/writeUInt16LE method to write multi-byte integer in importlib method in t_win unit (as all supported CPUs are little endian) 2024-01-25 01:01:06 +00: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
florian
c4fc5fc916 * disable OptPass2Test and OptPass2CMP for now as it seems to result in buggy code 2024-01-23 22:11:59 +01:00
Sven/Sarah Barth
981ec64666 * fix #40594: when assigning a nested function to a function reference don't check for the nested procvars parameter, because nested functions can be treated like anonymous functions here
+ added test
2024-01-22 22:27:33 +01:00
Sven/Sarah Barth
feb79e0068 - the setter for tloadnode.procdef is not used, so remove it so that that tloadnode.setprocdef can be extended 2024-01-22 22:27:33 +01:00
Sven/Sarah Barth
4aeb1ee223 * fix implementation comment 2024-01-22 22:27:33 +01:00
J. Gareth "Curious Kit" Moreton
46fa168d43 * Code that checks for divisions against -1 is now not inserted if
it's not necessary (e.g. no downsizing)
2024-01-22 21:17:05 +00:00
J. Gareth "Curious Kit" Moreton
0943458713 * More efficient if-statement construction in tmoddivnode.simplify 2024-01-22 21:17:05 +00:00
florian
40072fb762 * defines fixed 2024-01-22 22:14:06 +01:00
Sven/Sarah Barth
47c21fd1bc * fix #40593: don't check for a static method when assigning a methodpointer to a function reference
+ added test
2024-01-22 19:44:36 +01:00
Nikolay Nikolov
6aa49038a5 * inverted the indices of TWasmValueStack, so that item 0 is top of stack 2024-01-22 11:02:32 +02:00
Nikolay Nikolov
fadf43a33b + added TWasmControlStack and frame. Not used, yet. Will be used in the future
for WebAssembly stack tracking and validation.
2024-01-22 10:15:43 +02:00
florian
e0a5d07e37 + manually added new syscalls to i386-android 2024-01-21 21:14:57 +01:00
J. Gareth "Curious Kit" Moreton
0962578511 * Streamlined label referencing 2024-01-21 16:45:38 +00:00
Charles Averill
bb2e2f83e9 Add struct field names to subscriptn nodes in parse tree output 2024-01-21 16:39:09 +00:00
Charles Averill
cd9ed54d35 Add string constant values to stringconstn nodes in parse tree output 2024-01-21 16:39:09 +00:00
florian
7bbd33bcd6 * last commit was not complete, fixed 2024-01-21 15:26:21 +01:00
florian
79f6ee538d * fix compilation on 32 bit hosts 2024-01-21 15:25:36 +01:00
J. Gareth "Curious Kit" Moreton
038c163717 * New CG tests for verifying tvecnode.simplify correctness 2024-01-21 11:56:09 +00:00
J. Gareth "Curious Kit" Moreton
74625648cf * Vectors of string constants are now simplified into ordinal constants 2024-01-21 11:56:09 +00:00
florian
dc5041d778 * fix compilation for mipsel-android (hopefully) 2024-01-21 11:32:28 +01:00
florian
08e494ffd1 * extended test 2024-01-21 11:32:28 +01:00
Pierre Muller
7595dd3624 Also swap word/dword in case of cross-endian compilation 2024-01-20 21:35:24 +01:00
Pierre Muller
9648463eb5 Add MaybeSwap for coffsectionrec records (needed for cross-endian compilation) 2024-01-20 21:35:24 +01:00
florian
615e9bdafd * copyright year for compiler logo updated 2024-01-20 20:54:52 +01:00
Onur ERÇELEN
44af9d87de Upload New File 2024-01-20 19:50:44 +00: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
Michaël Van Canneyt
8be124100d * system.threading compatibility unit + tests 2024-01-17 17:16:00 +01:00
mattias
71b10a21e1 pastojs: set version to 3.1.1 2024-01-17 15:27:50 +01:00
marcoonthegit
231007ebda * check length of optstring before dereferencing (optstring[1]) it. Fixes #40596 2024-01-17 11:41:16 +01:00
Nikolay Nikolov
42f447257d + introduced TWasmValueStack for tracking the state of the WebAssembly stack. Not used, yet, but will be in the future. 2024-01-17 11:21:48 +02:00
Nikolay Nikolov
04a077707c * fix warning 2024-01-17 09:43:51 +02:00
Nikolay Nikolov
03fc5d2323 + added a zero/unitialized/unknown value to TWasmBasicType: wbt_Unknown 2024-01-17 08:32:10 +02:00
florian
4867d48e99 + support for .debug_loc and .debuc_loclist sections 2024-01-16 23:24:37 +01:00