Commit Graph

61497 Commits

Author SHA1 Message Date
nickysn
bfe4d44aef * call decstack after if in twasmifnode.pass_generate_code to keep track of the stack balance correctly
git-svn-id: branches/wasm@48043 -
2021-01-04 13:53:26 +00:00
nickysn
d85e70bbb4 * fixed the decstack balancing in thlcgwasm.a_cmp_stack_stack
git-svn-id: branches/wasm@48042 -
2021-01-04 13:51:14 +00:00
nickysn
d7b1d67cc6 - removed commented out code from thlcgwasm.a_cmp_stack_stack
git-svn-id: branches/wasm@48041 -
2021-01-04 13:50:18 +00:00
nickysn
68693b2890 + support <,<=,> and >= comparisons of address register types in thlcgwasm.a_cmp_stack_stack
git-svn-id: branches/wasm@48040 -
2021-01-04 13:49:14 +00:00
nickysn
11ae8e54a1 - removed the unused label parameter from a_cmp_stack_stack
git-svn-id: branches/wasm@48039 -
2021-01-04 13:35:24 +00:00
nickysn
5145681ccd * a_cmp_stack_label renamed a_cmp_stack_stack
git-svn-id: branches/wasm@48038 -
2021-01-04 13:33:40 +00:00
nickysn
0a0ec1de65 + adjust the stack properly on function calls
git-svn-id: branches/wasm@48037 -
2021-01-04 13:08:58 +00:00
nickysn
f86665b97f * drop unused return values from the stack
git-svn-id: branches/wasm@48036 -
2021-01-04 12:44:11 +00:00
nickysn
0cdd7d4d22 + support exit()
git-svn-id: branches/wasm@48035 -
2021-01-04 12:17:50 +00:00
nickysn
c92d27dadb * fixed formatting in thlcgwasm.a_jmp_always
git-svn-id: branches/wasm@48034 -
2021-01-04 12:01:10 +00:00
nickysn
f40bfcc662 + also call incblock and decblock in the second_addboolean for the shortcut boolean evaluation. This avoids breaking
break and continue inside inlined functions, used in an expression.

git-svn-id: branches/wasm@48033 -
2021-01-04 11:58:47 +00:00
nickysn
aa102564c5 * fixed the break and continue br depth calculation
git-svn-id: branches/wasm@48032 -
2021-01-04 11:55:01 +00:00
nickysn
3cc9ba9302 - don't push dummy zeros (they are useless and will be discarded), before branching for break/continue
git-svn-id: branches/wasm@48031 -
2021-01-04 11:36:32 +00:00
nickysn
0a923963a9 * use the eqz instruction instead of "xor 1" in twasmwhilerepeatnode.pass_generate_code_condition for reversing the condition
git-svn-id: branches/wasm@48030 -
2021-01-04 11:24:02 +00:00
nickysn
0fae32d2b7 * simplified if-then-else code generation, since we now support void 'if' instructions
git-svn-id: branches/wasm@48029 -
2021-01-04 11:06:41 +00:00
nickysn
b6735179ed * use a functype operand for a_if, instead of hardcoding
git-svn-id: branches/wasm@48028 -
2021-01-04 11:01:18 +00:00
nickysn
07c1783e24 * refactored call_indirect to use a 'functype' operand type. This type will be reused for block instructions as well.
git-svn-id: branches/wasm@48027 -
2021-01-04 10:50:06 +00:00
nickysn
6ef60815b8 * fixed the 'if' instruction syntax in the llvm-mc asm writer
git-svn-id: branches/wasm@48026 -
2021-01-04 10:11:29 +00:00
nickysn
ade8003fb5 * thlcgwasm.blocks renamed br_blocks, to ensure searching for it in the compiler
sources only finds this identifier (the word 'blocks' is used in too many
  other places and comments). No functional changes.

git-svn-id: branches/wasm@48023 -
2021-01-04 06:47:40 +00:00
nickysn
052d1bc38a * synchronized with trunk
git-svn-id: branches/wasm@48022 -
2021-01-04 02:57:44 +00:00
florian
7d5b0d2382 * handle rawbytestrings in Win32Ansi2UnicodeMove properly, resolves #38299
git-svn-id: trunk@48021 -
2021-01-03 22:55:37 +00:00
pierre
f2568e37e4 Add testing for single float type in trndmode.pp
git-svn-id: trunk@48020 -
2021-01-03 22:03:27 +00:00
pierre
57861c934d Check also that SetRoundMode returns correctly previous rounding mode
git-svn-id: trunk@48019 -
2021-01-03 21:55:35 +00:00
pierre
3362abb30c * Set softfloat_rounding_mode indise SetRoundMode function for all CPUs.
* SetRoundMode returns previous rounding mode value for all CPUs.

git-svn-id: trunk@48018 -
2021-01-03 21:44:18 +00:00
florian
9592c033e5 * process fma intrinsic parameters in an order which takes care of multiple x87 stack parameters, resolves #38295
git-svn-id: trunk@48017 -
2021-01-03 17:08:58 +00:00
michael
743e7c1c1b * Forgot to commit
git-svn-id: trunk@48014 -
2021-01-03 15:30:41 +00:00
marco
1332915a10 * still add files that start with ., just not to FTS
git-svn-id: trunk@48013 -
2021-01-03 15:21:43 +00:00
florian
12adb47d65 * clean up
git-svn-id: trunk@48011 -
2021-01-03 15:03:27 +00:00
michael
7ee4954b0b * Refactor HTML engine so it can more easily be extended
git-svn-id: trunk@48010 -
2021-01-03 14:08:48 +00:00
michael
7be3d2f80c * get rid of some warnings
git-svn-id: trunk@48009 -
2021-01-03 14:08:02 +00:00
svenbarth
b8578f804f * fix compilation on targets that use Stabs debug information: ignore generic dummy symbols with no procdefs for generating stabs data
git-svn-id: trunk@48007 -
2021-01-03 12:11:44 +00:00
svenbarth
4a274cd63a + add a copyright/license header for the nullable unit
git-svn-id: trunk@48006 -
2021-01-03 12:11:40 +00:00
michael
1afca037c6 * Help for markdown
git-svn-id: trunk@48005 -
2021-01-03 08:37:52 +00:00
Mattias Gaertner
9825d3b552 pastojs: filer export nameexpr
git-svn-id: trunk@48004 -
2021-01-03 01:06:04 +00:00
Mattias Gaertner
e911431ed4 fcl-passrc: parser: export unit.symbol, resolver: started library export
git-svn-id: trunk@48003 -
2021-01-03 01:04:26 +00:00
svenbarth
c96029ebd5 * Delphi does not allow a generic method to be overloaded by a non generic type of the same name (unlike for generic types and non generic routines); this is probably done to simplify the implementation of implicit specializations of generic methods so we do this as well. For this we change the dummy symbol for generic routines from a typesym to a procsym
+ added tests

Note: what Delphi /does/ allow however is to overload a generic routine with a generic type... go figure. :/ We currently don't allow that

git-svn-id: trunk@48002 -
2021-01-02 23:23:39 +00:00
svenbarth
7343e9c4a2 * correctly handle the case should the generic dummy symbol be a procsym instead of a typesym
git-svn-id: trunk@48001 -
2021-01-02 23:23:34 +00:00
svenbarth
e4eed4e259 * when only a symbol name is provided to generate_specialization_phase1 allow a symbol table to be provided as well
git-svn-id: trunk@48000 -
2021-01-02 23:23:29 +00:00
svenbarth
a65d778f73 * also handle call nodes when determining the generic symbol for inline specializations
git-svn-id: trunk@47999 -
2021-01-02 23:23:24 +00:00
svenbarth
f42b39a7b5 * use a case statement instead of nested if-then statements
git-svn-id: trunk@47998 -
2021-01-02 23:23:20 +00:00
svenbarth
43ba5b69d2 * ensure that the dummy symbol is registered if it's added due to a routine
git-svn-id: trunk@47997 -
2021-01-02 23:23:16 +00:00
svenbarth
9179f9d43b * always add a generic dummy if it is a procsym
git-svn-id: trunk@47996 -
2021-01-02 23:23:12 +00:00
svenbarth
d854d18bd9 * instead of blindly consuming whatever comes next trigger an explicit error if the parsed expression does not match for "INDEX ordexpr" or "NAME strexpr"
+ added tests

git-svn-id: trunk@47995 -
2021-01-02 23:23:08 +00:00
nickysn
5524de3be8 - removed redundant comment
git-svn-id: branches/wasm@47994 -
2021-01-02 23:09:43 +00:00
nickysn
8f376d1be9 + added WASI to the main RTL makefile
git-svn-id: branches/wasm@47993 -
2021-01-02 22:58:19 +00:00
nickysn
67206943e8 + added WASI RTL makefile
git-svn-id: branches/wasm@47992 -
2021-01-02 22:56:43 +00:00
nickysn
e7cd823692 * fixed -Sew warnings in agwat.pas
git-svn-id: branches/wasm@47991 -
2021-01-02 22:51:13 +00:00
nickysn
5c4e4228f6 + handle all cases in hlcgcpu.pas to avoid warning with -Sew
git-svn-id: branches/wasm@47990 -
2021-01-02 22:43:52 +00:00
nickysn
5a98127ae6 + added makefile.cpu for wasm32
git-svn-id: branches/wasm@47989 -
2021-01-02 22:27:30 +00:00
nickysn
cf6c173653 * regenerated makefiles
git-svn-id: branches/wasm@47988 -
2021-01-02 22:25:27 +00:00