Commit Graph

67030 Commits

Author SHA1 Message Date
Nikolay Nikolov
919a4fdbd2 + comments for the new error messages 2023-11-08 23:34:57 +01:00
Sven/Sarah Barth
7037635825 * fix #40221: don't allow a conversion from an anonymous function to a procvar type if compare_defs_ext already rejected them
+ added tests
2023-11-08 23:34:57 +01:00
Sven/Sarah Barth
cd0ab5bc12 + previous commit also fixes #40143, #40144, #40145, #40308 and #40315, so add the tests for them 2023-11-08 23:34:56 +01:00
Sven/Sarah Barth
6df32864c9 * revert 430bcac389 as with the change that the functions to insert hidden parameters are idempotent this is no longer required and also wrong as uses of the deleted symbols aside from Self and the framepointer would be left dangling 2023-11-08 23:34:56 +01:00
Sven/Sarah Barth
cbccdf03aa * ensure that the functions that insert the hidden parameters (function result, open array high parameters, etc.) are idempotent 2023-11-08 23:34:56 +01:00
Pierre Muller
923fab8e40 Set default abi for riscv 32/64 embedded 2023-11-08 23:34:56 +01:00
mattias
251788a71d fcl-pdf: fixed example pdfdump 2023-11-08 23:34:56 +01:00
Rika Ichinose
b66813f60c Shorter x86_64.inc:inc/declocked. 2023-11-08 23:34:56 +01:00
Rika Ichinose
25ee3b7eb4 Shorter i386.inc:fpc_AnsiStr_Decr_Ref. 2023-11-08 23:34:56 +01:00
marcoonthegit
02c18014bf * Switched from waitformultiple objects to -handles for xp/w7 compat, closes 40297 2023-11-08 23:34:56 +01:00
Michaël Van Canneyt
97f98cfc0e * PDF internal link objects, example adapted to show possibility. Fixes issue #40318 2023-11-08 23:34:56 +01:00
Pierre Muller
f3de104e16 Fix fullcycle compilation error due to -Sew option
Add 'else' branch to 'case' keyword construct
  for the setting of ABI in riscv32 assembler call.
  Do the same for riscv64 assembler call.
2023-11-08 23:34:56 +01:00
Pierre Muller
a8ca170649 Set defualt riscv32 linux abi to abi_riscv_ipl32 2023-11-08 23:34:56 +01:00
Pierre Muller
184b40de3e Set defualt riscv32 linux abi to abi_riscv_ipl32 2023-11-08 23:34:56 +01:00
Pierre Muller
3638303f0e Rename variable called section to _section to avoid parsing error for morphos OS 2023-11-08 23:34:55 +01:00
Pierre Muller
49a05c992e Handle the specific NaN pattern of mips floating-point unit 2023-11-08 23:34:55 +01:00
Nikolay Nikolov
4b29633cd7 + added mutable globals to the target switches section 2023-11-08 23:34:55 +01:00
Nikolay Nikolov
c42e8c5fff + added promising _start and _initialize exports 2023-11-08 23:34:55 +01:00
Nikolay Nikolov
512ccaf953 * fixed erroneously duplicated code from previous commit 2023-11-08 23:34:55 +01:00
Nikolay Nikolov
b63c3306d9 + print a proper error message if a suspending external is used on a non-WebAssembly platform 2023-11-08 23:34:52 +01:00
Nikolay Nikolov
c74ec6c59b * tsk_wasm_suspending renamed tsk_wasm_suspending_first 2023-11-08 23:34:23 +01:00
Nikolay Nikolov
245ee90877 + print an error message, in case 'promising' exports are used on non-WebAssembly platform 2023-11-08 23:34:21 +01:00
Nikolay Nikolov
5cd7b7a348 + support 'promising last' exports 2023-11-08 23:33:56 +01:00
Nikolay Nikolov
5a0267d5da * tcpuprocdef.promising_export_name renamed promising_first_export_name 2023-11-08 23:33:56 +01:00
Nikolay Nikolov
8a6ffe417f + added 'last' or 'first' to the internal promising wrapper name 2023-11-08 23:33:56 +01:00
Nikolay Nikolov
b1ad8c809e + added last:boolean parameter to implement_wasm_promising_wrapper 2023-11-08 23:33:56 +01:00
Nikolay Nikolov
9aefc64bc3 + introduced implement_wasm_promising_wrapper 2023-11-08 23:33:56 +01:00
Nikolay Nikolov
fd6113e880 + introduced tcpuprocdef.add_promising_export 2023-11-08 23:33:56 +01:00
Nikolay Nikolov
be4fd4c012 * assert that any exported promising function is not synthetic 2023-11-08 23:33:56 +01:00
Nikolay Nikolov
aa94e9cd21 * eo_promising renamed eo_promising_first 2023-11-08 23:33:56 +01:00
Nikolay Nikolov
d55c7819cb + also allow declaring an external as 'suspending first' 2023-11-08 23:33:56 +01:00
Nikolay Nikolov
fc9d8c98d0 + support 'suspending last' externals as well 2023-11-08 23:33:55 +01:00
Nikolay Nikolov
8317cad7ee + comment for the po_wasm_suspending value 2023-11-08 23:33:55 +01:00
Nikolay Nikolov
8ac7551464 + comments for tsk_wasm_suspending and tsk_wasm_promising 2023-11-08 23:33:55 +01:00
Nikolay Nikolov
bce6147317 + added a basic JS promise test 2023-11-08 23:33:55 +01:00
Nikolay Nikolov
a9fb240110 * fixed generating wrappers for suspending functions that return something, other than double 2023-11-08 23:33:55 +01:00
Nikolay Nikolov
daaf617590 + initial implementation of WebAssembly promising exports 2023-11-08 23:33:55 +01:00
Nikolay Nikolov
74955b4e03 * fixed creating suspended wrappers for functions without parameters 2023-11-08 23:33:55 +01:00
Nikolay Nikolov
389de7c65c * fixed compilation with -Sew 2023-11-08 23:33:55 +01:00
Nikolay Nikolov
bd95252ae1 * since exporting webassembly globals doesn't yet work accross units, added a
workaround by using property getters and setters
2023-11-08 23:33:55 +01:00
Nikolay Nikolov
45ca2c6f88 + initial attempt (not fully working, yet) at implementing WebAssembly suspending externals 2023-11-08 23:33:55 +01:00
Nikolay Nikolov
1f286cf736 * ppudump compilation fixed 2023-11-08 23:33:55 +01:00
Nikolay Nikolov
4c70cfb9f9 + added parser support for the 'suspending' directive 2023-11-08 23:33:55 +01:00
Nikolay Nikolov
20b9e39ff5 + support externref and funcref WebAssembly globals in the internal object writer 2023-11-08 23:33:54 +01:00
Nikolay Nikolov
6c7b45a0bb + support WebAssembly reference types as WebAssembly globals 2023-11-08 23:33:54 +01:00
Nikolay Nikolov
a2393c0aeb * use tcallparanode.parasym to find the tparavarsym in twasmcallnode.pass_typecheck 2023-11-08 23:33:54 +01:00
Nikolay Nikolov
5ca1c45b2b * fixed crash in twasmcallnode.pass_typecheck when there is no procdefinition (for generic methods) 2023-11-08 23:33:54 +01:00
Nikolay Nikolov
daa7e1c190 * fixed another crash, introduced in 6ff566350c 2023-11-08 23:33:54 +01:00
Nikolay Nikolov
754e0de69e * fixed bug, introduced in 6ff566350c, due to
missing parenthesis
2023-11-08 23:33:54 +01:00
Nikolay Nikolov
4df862fce6 * disallow passing WebAssembly reference types as untyped out parameters as well 2023-11-08 23:33:54 +01:00