Commit Graph

67124 Commits

Author SHA1 Message Date
Michael VAN CANNEYT
fa735ba7b2 * Refactor, so the combination CPU-OS-SubTarget is a record. Allows for extension if need be 2023-06-19 07:04:50 +00:00
Michael VAN CANNEYT
193550945c * Lazarus project file
* Remove unused KnownArchitectures tryout
* Add SUB_TARGET
2023-06-19 07:04:50 +00:00
Michaël Van Canneyt
c94531645a * Implement -t options for fpc executable
* Remove some debugging statements
* Refactor processorname -> suffix name for clarity of flow
* Refactor initialization of binary and processor name for clarity of flow
* Rename variables for clarity
* subroutine to simplify command-line handling
* Limited subtarget config file parsing to detect -V
* Specifying multiple -V should not give an error but warn, as for -T or -t
2023-06-19 07:04:50 +00:00
Michael VAN CANNEYT
5605cebd46 * Implement -t and -x options
* Fix spurious warning of already specified -t
* If no subtarget file found, error out instead of hint/warn
* Globals needs subtarget for macro substitution
2023-06-19 07:04:50 +00:00
Nikolay Nikolov
8bd18fc6d3 Merge remote-tracking branch 'origin/main' into wasm_js_promise_integration 2023-06-17 17:11:23 +03:00
Nikolay Nikolov
322befbf56 + added mutable globals to the target switches section 2023-06-17 17:00:36 +03:00
Nikolay Nikolov
fa27856478 + added promising _start and _initialize exports 2023-06-17 14:34:09 +03:00
Nikolay Nikolov
389646adee * fixed erroneously duplicated code from previous commit 2023-06-17 13:39:29 +03:00
Nikolay Nikolov
8acf2e3ff3 + print a proper error message if a suspending external is used on a non-WebAssembly platform 2023-06-17 12:46:44 +03:00
Nikolay Nikolov
553cee72eb * tsk_wasm_suspending renamed tsk_wasm_suspending_first 2023-06-17 12:28:12 +03:00
Sven/Sarah Barth
0b7a771ca9 * 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-06-16 17:28:50 +02:00
Sven/Sarah Barth
e44a33a78b + previous commit also fixes #40143, #40144, #40145, #40308 and #40315, so add the tests for them 2023-06-16 17:03:51 +02:00
Sven/Sarah Barth
08dca09c7e * 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-06-16 16:16:58 +02:00
Sven/Sarah Barth
d5a538b590 * ensure that the functions that insert the hidden parameters (function result, open array high parameters, etc.) are idempotent 2023-06-16 16:15:45 +02:00
Nikolay Nikolov
f800e40595 + print an error message, in case 'promising' exports are used on non-WebAssembly platform 2023-06-16 15:44:58 +03:00
Nikolay Nikolov
2f1ccd6f2a + support 'promising last' exports 2023-06-16 11:00:19 +03:00
Nikolay Nikolov
9d893b5d0d * tcpuprocdef.promising_export_name renamed promising_first_export_name 2023-06-16 10:50:35 +03:00
Pierre Muller
be0c92c65d Set default abi for riscv 32/64 embedded 2023-06-15 15:33:23 +00:00
mattias
63bf4dacbf fcl-pdf: fixed example pdfdump 2023-06-15 11:34:57 +02:00
Rika Ichinose
f20c7b9ae9 Shorter x86_64.inc:inc/declocked. 2023-06-14 21:19:11 +00:00
Rika Ichinose
9249506a2e Shorter i386.inc:fpc_AnsiStr_Decr_Ref. 2023-06-14 21:19:11 +00:00
marcoonthegit
f1fcdcfbc3 * Switched from waitformultiple objects to -handles for xp/w7 compat, closes 40297 2023-06-14 14:22:08 +02:00
Michaël Van Canneyt
90b7c8ace7 * PDF internal link objects, example adapted to show possibility. Fixes issue #40318 2023-06-14 08:30:45 +02:00
Pierre Muller
87e4931489 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-06-14 08:19:06 +02:00
Pierre Muller
f410d8a77c Set defualt riscv32 linux abi to abi_riscv_ipl32 2023-06-13 19:41:02 +00:00
Pierre Muller
0d256f517f Set defualt riscv32 linux abi to abi_riscv_ipl32 2023-06-13 19:39:55 +00:00
Nikolay Nikolov
9ea1f6de19 + added 'last' or 'first' to the internal promising wrapper name 2023-06-13 12:15:46 +03:00
Nikolay Nikolov
ed748a65b4 + added last:boolean parameter to implement_wasm_promising_wrapper 2023-06-13 12:14:09 +03:00
Nikolay Nikolov
2eb3f5f0b8 + introduced implement_wasm_promising_wrapper 2023-06-13 12:10:54 +03:00
Nikolay Nikolov
c67bcf0032 + introduced tcpuprocdef.add_promising_export 2023-06-13 11:57:23 +03:00
Nikolay Nikolov
601c8f9c8b * assert that any exported promising function is not synthetic 2023-06-13 11:44:10 +03:00
Nikolay Nikolov
c6b059ede6 * eo_promising renamed eo_promising_first 2023-06-13 11:42:15 +03:00
Nikolay Nikolov
4d62764fa3 + also allow declaring an external as 'suspending first' 2023-06-13 09:56:44 +03:00
Nikolay Nikolov
0f89852908 + support 'suspending last' externals as well 2023-06-13 09:34:54 +03:00
Nikolay Nikolov
aedacd9160 + comment for the po_wasm_suspending value 2023-06-13 09:12:59 +03:00
Nikolay Nikolov
f6cd75add9 + comments for tsk_wasm_suspending and tsk_wasm_promising 2023-06-13 09:11:02 +03:00
Pierre Muller
61e53fd42a Rename variable called section to _section to avoid parsing error for morphos OS 2023-06-11 23:30:18 +02:00
Pierre Muller
ad1812f90a Handle the specific NaN pattern of mips floating-point unit 2023-06-11 15:56:54 +01:00
Nikolay Nikolov
d2396a848b + added a basic JS promise test 2023-06-11 16:59:29 +03:00
Nikolay Nikolov
c22b6c10b7 * fixed generating wrappers for suspending functions that return something, other than double 2023-06-11 16:50:49 +03:00
Nikolay Nikolov
15c95e0ac7 + initial implementation of WebAssembly promising exports 2023-06-11 16:43:45 +03:00
Nikolay Nikolov
80c8575636 * fixed creating suspended wrappers for functions without parameters 2023-06-11 15:24:55 +03:00
Nikolay Nikolov
1a4b97a62a * fixed compilation with -Sew 2023-06-11 15:09:49 +03:00
Nikolay Nikolov
b97f3a08ed * since exporting webassembly globals doesn't yet work accross units, added a
workaround by using property getters and setters
2023-06-11 15:00:56 +03:00
Nikolay Nikolov
b247302871 + initial attempt (not fully working, yet) at implementing WebAssembly suspending externals 2023-06-11 14:07:35 +03:00
Nikolay Nikolov
b891cef5d2 * ppudump compilation fixed 2023-06-11 12:00:54 +03:00
Nikolay Nikolov
95d7bdc3da + added parser support for the 'suspending' directive 2023-06-11 11:57:33 +03:00
Nikolay Nikolov
9b4366e4f6 + support externref and funcref WebAssembly globals in the internal object writer 2023-06-11 10:41:56 +03:00
Nikolay Nikolov
8eea58f649 + support WebAssembly reference types as WebAssembly globals 2023-06-11 10:31:12 +03:00
Nikolay Nikolov
d38dbcac8f * use tcallparanode.parasym to find the tparavarsym in twasmcallnode.pass_typecheck 2023-06-11 09:29:07 +03:00