Commit Graph

60827 Commits

Author SHA1 Message Date
Mattias Gaertner
049af48bd8 fcl-js: writer: fixed writing invalid UTF-16
git-svn-id: trunk@47829 -
2020-12-21 15:48:48 +00:00
svenbarth
cbe352808a * fix for Mantis #38238: when creating a copy of a procdef for a procvar set the methodpointer flag also for methods of records
+ added test

git-svn-id: trunk@47826 -
2020-12-20 22:41:27 +00:00
florian
2a990b8167 + patch by J. Gareth Moreton: some new x86 assembler optimizations, resolves #38130
git-svn-id: trunk@47824 -
2020-12-20 18:05:43 +00:00
marco
5cffbad92a - fix \ in filenames:
* copy long_string to long_stringfn and long_string.
 * turn off interpretive I/O (escapes) for long_stringfn
 * use long_stringfn for filenames.

 * filenames also get unquoted production for Delphi compatibility using new non_whitespace_string.  Regex for that is a bit t.b.d, but this made it work with my examples

git-svn-id: trunk@47820 -
2020-12-19 21:47:25 +00:00
florian
b8fc193b0c * extended test
git-svn-id: trunk@47818 -
2020-12-19 12:58:35 +00:00
ondrej
3f605a5b50 win rtl: load GetTimeZoneInformationForYear dynamically. Issue #38192
git-svn-id: trunk@47817 -
2020-12-19 11:57:58 +00:00
Mattias Gaertner
3f7d3e17cd fcl-passrc: use fmShareDenyNone when writing pas
git-svn-id: trunk@47816 -
2020-12-19 11:46:53 +00:00
Mattias Gaertner
58421e40c6 pastojs: use fmShareDenyNone when writing js
git-svn-id: trunk@47815 -
2020-12-19 11:46:06 +00:00
Mattias Gaertner
c7d29ec118 pastojs: test #256+
git-svn-id: trunk@47814 -
2020-12-19 11:37:36 +00:00
florian
1d92cc43bb * fpc_ln_real raises an exception for invalid operands if they exception is not masked
git-svn-id: trunk@47813 -
2020-12-18 22:36:17 +00:00
florian
072be7b0f7 * Aarch64: fix 32 bit div operations with constant denominators, resolves #38225
git-svn-id: trunk@47812 -
2020-12-18 21:39:35 +00:00
svenbarth
2a897f5b6b * apply slightly adjusted patch by Blaise.ru which moves parsing of result types to a separate functions thus ensuring that File types can't be used for procedure variables (just like they already couldn't be used as a result type for normal functions)
+ added test

git-svn-id: trunk@47810 -
2020-12-18 13:50:39 +00:00
svenbarth
a1b252538f * change def parameter of single_type() from var to out (part of patch by Blaise.ru)
git-svn-id: trunk@47809 -
2020-12-18 13:50:36 +00:00
Károly Balogh
4b3fee38a5 dati.inc: tabs 2 spaces and whitespaces formatting fix. no functional changes
git-svn-id: trunk@47808 -
2020-12-18 11:55:21 +00:00
florian
80f87edffd * x86-64: correctly translate and with large constants in mod optimizations, resolves #38164
git-svn-id: trunk@47805 -
2020-12-17 22:09:23 +00:00
michael
034048e09d * Patch from Andrey Sobol to fix memleak
git-svn-id: trunk@47799 -
2020-12-17 15:18:02 +00:00
pierre
4235d2ce3d Try to fix sparc32 code generation error for overflow test
git-svn-id: trunk@47798 -
2020-12-16 23:16:37 +00:00
florian
9af9f140a5 * do an unsigned division if one operand is unsigned an the other
one a constant in its range, resolves #38180

git-svn-id: trunk@47797 -
2020-12-16 21:55:05 +00:00
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
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
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
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
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