Commit Graph

61485 Commits

Author SHA1 Message Date
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
nickysn
19b06cdf81 + added wasi to the list of OSes in fpcmake
git-svn-id: branches/wasm@47987 -
2021-01-02 22:23:15 +00:00
florian
3109005791 + fold also (string const+(string const+string var))
* string tree folding code moved into level 2 opt. block

git-svn-id: trunk@47986 -
2021-01-02 22:18:38 +00:00
nickysn
a84b091b5e * makefiles regenerated after fpcmake update
git-svn-id: branches/wasm@47985 -
2021-01-02 22:15:42 +00:00
nickysn
70f19c4a6e * the 'wasm' CPU renamed 'wasm32' in fpcmake
git-svn-id: branches/wasm@47983 -
2021-01-02 22:11:27 +00:00
nickysn
05d66eddfc * synchronized with trunk
git-svn-id: branches/wasm@47982 -
2021-01-02 22:06:17 +00:00
michael
b387dd8a94 * Fix AV
git-svn-id: trunk@47981 -
2021-01-02 22:05:34 +00:00
marco
bb8fd96eaa * fix destructor
git-svn-id: trunk@47980 -
2021-01-02 21:13:03 +00:00
florian
9430436a24 + include package/hash in regression tests
git-svn-id: trunk@47979 -
2021-01-02 19:27:01 +00:00
michael
33d7935b93 * Fix class tree & lists
git-svn-id: trunk@47978 -
2021-01-02 19:05:31 +00:00
florian
7de94e7a1d * properly fold string+string const+string const., resolves #38267
git-svn-id: trunk@47977 -
2021-01-02 17:18:54 +00:00
florian
8b08079224 * fpc_AnsiStr_Concat: if one of the strings is empty and CP_NONE is passed, the code page
of the other string is taken, this is also like fpc_AnsiStr_Concat_multi works if length(sarr)=2

git-svn-id: trunk@47976 -
2021-01-02 16:39:39 +00:00
nickysn
4ea7d8dffb + enable the sign extension wasm32 instructions
git-svn-id: branches/wasm@47975 -
2021-01-02 15:07:38 +00:00