Commit Graph

61445 Commits

Author SHA1 Message Date
florian
9858d9c5e6 * apply doremoveinttypeconvs to unary minus and not on 8 and 16 bit targets as well
git-svn-id: trunk@47796 -
2020-12-16 21:55:05 +00:00
svenbarth
d29f95d9e1 * apply patch by Blaise.ru to allow specializations for the result type of function and method variables
+ added tests

git-svn-id: trunk@47795 -
2020-12-16 21:43:30 +00:00
svenbarth
32938dde1c * apply patch by Blaise.ru to allow record methods to be assigned to method variables as well (this is Delphi compatible)
+ added test

git-svn-id: trunk@47794 -
2020-12-16 21:43:25 +00:00
nickysn
2f889f3244 - removed the ttgwasm.alloctemp override, because it does nothing
git-svn-id: branches/wasm@47793 -
2020-12-16 16:16:07 +00:00
nickysn
577e39e57f - removed commented out methods (copied from the jvm code generator) from ttgwasm
git-svn-id: branches/wasm@47792 -
2020-12-16 16:14:36 +00:00
nickysn
a104c3d7a0 - removed ttgwasm.deallocLocalVar, as it is no longer used
git-svn-id: branches/wasm@47791 -
2020-12-16 16:13:06 +00:00
nickysn
58d361049f * some optimizations in TWasmLocalVars.dealloc(index: integer)
git-svn-id: branches/wasm@47790 -
2020-12-16 16:09:10 +00:00
nickysn
949d5e61f8 * several public methods of ttgwasm made private
git-svn-id: branches/wasm@47787 -
2020-12-16 13:33:03 +00:00
nickysn
ae60449699 * funnel all the wasm local var allocation, done by the register allocator, through the temp generator
git-svn-id: branches/wasm@47786 -
2020-12-16 13:26:27 +00:00
nickysn
a38c3c682d * synchronized with trunk
git-svn-id: branches/wasm@47784 -
2020-12-16 01:15:50 +00:00
pierre
9a0107a19d Fix compilation failure for avr compiler with -dDEBUG_NODE_XML, to fix bug report 38222
git-svn-id: trunk@47783 -
2020-12-16 00:07:39 +00:00
florian
aeff5b3577 * improved change information
git-svn-id: trunk@47781 -
2020-12-15 21:33:33 +00:00
nickysn
f572bcf8f3 + introduced the NR_LOCAL_FRAME_POINTER_REG constant (alias for NR_R3)
git-svn-id: branches/wasm@47780 -
2020-12-15 15:08:24 +00:00
nickysn
bfb13fb848 - get rid of treference.islocal. Instead, use checks whether treference.base
is equal to NR_LOCAL_STACK_POINTER_REG

git-svn-id: branches/wasm@47779 -
2020-12-14 23:27:27 +00:00
nickysn
47ff701db7 * synchronized with trunk
git-svn-id: branches/wasm@47778 -
2020-12-14 23:07:56 +00:00
nickysn
fd690e8ba1 * use NR_LOCAL_STACK_POINTER_REG in ttgwasm.localVarToRef
git-svn-id: branches/wasm@47777 -
2020-12-14 23:07:17 +00:00
nickysn
ce8439fb36 + introduced NR_LOCAL_STACK_POINTER_REG
git-svn-id: branches/wasm@47776 -
2020-12-14 23:06:55 +00:00
florian
2e2f2eb784 - remove could which prevented that rte is triggered even if we are inside
an exception block but *without* using sysutils. The remove code
    was once added to have primitive exception handling even if
    no sysutils is used. But if this is desired, an appropriate handler
    to ErrorProc should be assigned. Resolves #38201

git-svn-id: trunk@47775 -
2020-12-14 21:55:42 +00:00
florian
00af340feb * cleanup
git-svn-id: trunk@47774 -
2020-12-14 21:55:41 +00:00
pierre
eb722c8294 Fix ash_savefregp_x handling, as revealed by range check error
git-svn-id: trunk@47773 -
2020-12-14 11:21:10 +00:00
nickysn
adb631f2cf * synchronized with trunk
git-svn-id: branches/wasm@47772 -
2020-12-13 21:57:28 +00:00
michael
6668e265e8 * Allow appending files
git-svn-id: trunk@47770 -
2020-12-13 11:57:58 +00:00
florian
6d7d567a25 * min/max optimization on x86 can be applied now without fastmath as NaN is handled properly now
git-svn-id: trunk@47769 -
2020-12-13 09:52:45 +00:00
florian
b90ec52a0e * x86: apply VOpVmov2VOp optimization to vmins*/vmaxs*
git-svn-id: trunk@47768 -
2020-12-13 09:52:45 +00:00
florian
88a0d4d64b + optimize if x>a then x:=a; into min(a,x);, similiar for max
* test extended

git-svn-id: trunk@47767 -
2020-12-13 09:52:44 +00:00
nickysn
91e9558f5b * synchronized with trunk
git-svn-id: branches/wasm@47766 -
2020-12-12 23:20:33 +00:00
florian
53a4e6c513 * patch by Zoran Vučenović: fixes TDoubleRec.SetFrac, resolves #38202
+ test

git-svn-id: trunk@47765 -
2020-12-12 21:39:17 +00:00
florian
c82aae59a1 * call node_complexity correctly in order_parameters when sorting parameters
git-svn-id: trunk@47763 -
2020-12-11 22:14:18 +00:00
florian
0ab69ea0ad + m68k: LEA, MOVE(M) to MOVE(M) predecremented optimization and MOVE(M), LEA to MOVE(M) postincremented optimization
git-svn-id: trunk@47762 -
2020-12-11 22:14:17 +00:00
florian
a0a8a6911a * m68k: proper values for first_*_reg
git-svn-id: trunk@47761 -
2020-12-11 22:14:16 +00:00
Mattias Gaertner
879bc83d7b pastojs: fixed record member type
git-svn-id: trunk@47760 -
2020-12-11 20:04:02 +00:00
Mattias Gaertner
7e1cb64d5d pastojs: fixed unit without implementation
git-svn-id: trunk@47759 -
2020-12-11 17:33:45 +00:00
Mattias Gaertner
508d4baa68 fcl-passrc: resolver: fixed unit without implementation
git-svn-id: trunk@47758 -
2020-12-11 17:32:51 +00:00
florian
f0298f63d0 * allow absolute variables with an address to be used as syscall base
git-svn-id: trunk@47757 -
2020-12-11 17:32:41 +00:00
yury
67284c7452 + Added a test for proper setting of fc_no_direct_exit in flowcontrol.
git-svn-id: trunk@47755 -
2020-12-11 14:17:18 +00:00
michael
3db8f5c91f * Fix compilation
git-svn-id: trunk@47754 -
2020-12-11 13:34:44 +00:00
pierre
0d592e8d1a * Try to read command line exec name on linux, using argv[0], in order to be able
to use the symbolic link name instead of the real executable name.
    This allows to use symbolic links to gppc386, named gppc1
    to be able to launch ppc1 under gdb, as it is already possible
    under OpenBSD (which returns the command line name via paramstr(0),
    or under Windows if <SYMLINK> is used (generated by mklink).
  + Generate errors if compiler executable is not found, or if gdb binary
    is not found.

git-svn-id: trunk@47753 -
2020-12-11 11:14:33 +00:00
michael
729c1dee8c * Fix bug ID #38193: order on darwin is same as openbsd
git-svn-id: trunk@47752 -
2020-12-11 09:14:25 +00:00
florian
817ef6949a * m68k: MOVE, TST, Jxx/Sxx to MOVE, Jxx optimization
git-svn-id: trunk@47751 -
2020-12-10 21:51:26 +00:00
florian
bb8c3fd153 * made optimization JSR, RTS to JMP more bullet proof, added comment
git-svn-id: trunk@47750 -
2020-12-10 21:09:20 +00:00
yury
8b7c5666a2 * Renamed fc_block_with_exit to fc_no_direct_exit to expand its usage.
* Set fc_no_direct_exit in case when a routine has an additional implicit exit code, such as calling FreeInstance in the destructor.

git-svn-id: trunk@47749 -
2020-12-10 17:38:37 +00:00
ondrej
6eb37beb24 win32: SysErrorMessage: ignore inserts (when not used the messages with inserts are empty) and allocate message buffer
git-svn-id: trunk@47748 -
2020-12-10 17:04:12 +00:00
svenbarth
1efeb5851a * fix regression introduced with r47625 for Mantis #38122: when checking for a dereferentiation of the Self parameter subscript and vec nodes need to be kept
+ added test

git-svn-id: trunk@47747 -
2020-12-10 06:11:46 +00:00
Károly Balogh
2bd7877ec0 amiga: fixed the recently added link map generation to work properly. needs recent vlink to work
git-svn-id: trunk@47746 -
2020-12-10 04:56:26 +00:00
Károly Balogh
7f96a26de0 m68k: in g_concatcopy, check the actual alignment of references being copied rather than always excluding word and dword sized direct copies on a 68000
git-svn-id: trunk@47744 -
2020-12-10 04:17:06 +00:00
michael
7f2c8857da * Endianness
git-svn-id: trunk@47743 -
2020-12-09 23:33:53 +00:00
Mattias Gaertner
07819e0115 pastojs: precompiled code: always store with unix line ending, write with platform line ending
git-svn-id: trunk@47742 -
2020-12-09 21:42:20 +00:00
Mattias Gaertner
2df2986a4b fcl-js: added TTextWriter.LineBreak
git-svn-id: trunk@47741 -
2020-12-09 21:42:13 +00:00
florian
a849e51a3c + m68k: JSR, RTS to JMP optimization
git-svn-id: trunk@47740 -
2020-12-09 20:57:06 +00:00
Mattias Gaertner
5682783489 fcl-passrc: clean up
git-svn-id: trunk@47739 -
2020-12-09 20:51:20 +00:00