Commit Graph

6740 Commits

Author SHA1 Message Date
Jonas Maebe
dd6e6eb26a * disable tail recursion optimisation if there is a copy-back parameter
* handle fparainit in tail recursion optimisation (mantis #37397)

git-svn-id: trunk@45823 -
2020-07-21 17:57:50 +00:00
florian
13cb57b2c3 + Aarch64: trgcpu.get_spill_subreg: return MM sub register correctly, resolves #37393
git-svn-id: trunk@45814 -
2020-07-20 21:07:09 +00:00
Jonas Maebe
3fde3f23ce * moved ios test object files to ios directory
+ added darwin/aarch64 test object files

git-svn-id: trunk@45803 -
2020-07-18 13:44:03 +00:00
florian
a57f3ba396 * patch by Sergey Larin to handle Native(U)Int conversions from/to variants, resolves #37339
git-svn-id: trunk@45797 -
2020-07-16 20:44:30 +00:00
florian
0cb21e8338 + test for last commit
git-svn-id: trunk@45773 -
2020-07-11 20:31:00 +00:00
Jonas Maebe
fb23834367 * regenerated Makefiles again
git-svn-id: trunk@45766 -
2020-07-11 09:51:28 +00:00
florian
f6f5cb45a3 + strip leading zeros in numeric labels in iso/extended pascal mode also in label declarations, resolves #37323
git-svn-id: trunk@45764 -
2020-07-11 07:12:37 +00:00
Jonas Maebe
350d2d92f9 * regenerated Makesfiles
git-svn-id: trunk@45762 -
2020-07-10 22:08:30 +00:00
florian
392d66a9ce * variables can have the same name as the main program in iso mode, resolves #37322
git-svn-id: trunk@45757 -
2020-07-10 21:05:59 +00:00
pierre
ed9f390320 Fix ShowHistory, by avoiding ordering by TR_ID which is not monotoneous anymore
git-svn-id: trunk@45741 -
2020-07-07 23:05:43 +00:00
florian
f65f1bd802 * fix test to check result properly as pointed out by Bi0T1N in the bug tracker
git-svn-id: trunk@45739 -
2020-07-07 20:22:00 +00:00
pierre
604b9fd1fd Use FPCOPT variable instead of OPT, to also pass BINUTILSPREFIX as -XP option for createlst and gparmake compilation
git-svn-id: trunk@45737 -
2020-07-07 11:40:36 +00:00
florian
3caacc529a * fix abs() intrinsic optimisation, resolves #37301
git-svn-id: trunk@45732 -
2020-07-05 09:19:14 +00:00
florian
ff295bf349 * delay setting of pd_body and pd_implement till the header of a generic
procedure is parsed, resolves #37261

git-svn-id: trunk@45717 -
2020-06-30 20:36:51 +00:00
florian
d41f4c7c4e * correctly handle sign/zero extensions for optimization "var3", resolves #37254
git-svn-id: trunk@45713 -
2020-06-29 20:36:54 +00:00
svenbarth
52678562e3 * correctly handle selection between Single and Double overloads for Currency
+ added test

git-svn-id: trunk@45707 -
2020-06-27 22:33:36 +00:00
svenbarth
eaa2a2006c * fix for Mantis #37272: also allow the empty set for dynamic array parameters; Delphi probably started to allow that together with array constructors.
+ added tests

git-svn-id: trunk@45706 -
2020-06-27 22:33:31 +00:00
svenbarth
d401639b24 * fix for Mantis #37251: apply patches by Bi0T1N to implement the IsConstValue() intrinsic
+ added tests

git-svn-id: trunk@45695 -
2020-06-25 20:42:47 +00:00
florian
cb11e2568d + Xtensa: patch by Christo Crause to add optional MAC16 registers, resolves #37130
git-svn-id: trunk@45679 -
2020-06-22 19:05:13 +00:00
yury
e63c03125a * Reworked tprocdef.is_implemented to fix a bug with the parentfp optimization. The bug was detected when using the llvm backend.
+ Added a test.

git-svn-id: trunk@45675 -
2020-06-21 19:52:14 +00:00
Jonas Maebe
3cb341eabc * ensure that dispose(managed_ptr) does not result in multiple evaluations of
the managed_ptr expression

git-svn-id: trunk@45673 -
2020-06-21 15:10:38 +00:00
florian
a7c0fa0def o patch for Xtensa by Christo Crause, resolves #37099
+ Added postfix parsing in tattreader.GetToken
    - Removed all postfixed versions of OpCodes from the instruction list
    + Added all missing OpCodes from Xtensa ISA
    * Changed branch OpCode to A_B, similar to ARM
    + Added missing branch condition flags BCI and BSI
    * Updated existing compiler code that referred to the old postfixed instructions
    + Added prefix and postfix handling in TxtensaInstrWriter.WriteInstruction
    * Updated TCPUAddNode.second_addfloat to specify .S postfix
    * Updated tcpuunaryminusnode.second_float to specify .S postfix
    + Implemented prefix and postfix identification in txtensaattreader.is_asmopcode
    * Adapted branch condition extraction to respect postfixes
    * Changed itcpugas to call findreg_by_name_table from raatt.pas (same as issue #0037121, difficult to test these changes without including a fix for the register name search problem)

git-svn-id: trunk@45672 -
2020-06-21 14:51:40 +00:00
florian
80111a0a60 * make local variables in assembler blocks working again after r44933
* test for #37218

git-svn-id: trunk@45667 -
2020-06-20 20:17:53 +00:00
yury
c15b6f4516 * Fixed the parentfp optimization for some cases when nested procvars are used.
git-svn-id: trunk@45664 -
2020-06-20 18:28:07 +00:00
florian
62c417c8bf * temporarily fix #37034 by disabling the problematic optimization until the real cause is fixed
git-svn-id: trunk@45655 -
2020-06-15 19:57:39 +00:00
svenbarth
febeef03e4 * for adding procdefs to forwarddefs check for the specialization flag instead of whether it's a full specialization; fixes implicit finalization handlers on x86_64-win64 not being found
+ added tests

git-svn-id: trunk@45646 -
2020-06-13 18:42:31 +00:00
florian
50c48349d5 * check properly for i/o errors in the iso read helpers, resolves #37154
* CheckRead checks if reading caused an I/O error and returns false in this case

git-svn-id: trunk@45635 -
2020-06-10 20:47:58 +00:00
florian
aafc22bd74 + optimize real operations with 0 and 1 if fast math is turned on
git-svn-id: trunk@45627 -
2020-06-08 20:33:27 +00:00
svenbarth
b3ddd4e786 * regenerate Makefiles
git-svn-id: trunk@45601 -
2020-06-06 17:18:48 +00:00
svenbarth
1c5d0220fe * enable tests for the Nullable unit
git-svn-id: trunk@45527 -
2020-05-29 13:04:37 +00:00
michael
e0c5ac1682 * Add nullable (bug ID 0037128)
git-svn-id: trunk@45520 -
2020-05-28 09:39:35 +00:00
florian
8f88112bfe * allow in iso mode constants selecting the branch to dispose of a variant record (no functional effect though), resolves #37085
git-svn-id: trunk@45519 -
2020-05-27 21:10:55 +00:00
florian
b4de0b2e9c * insert fwait after fcompp, resolves #37136
git-svn-id: trunk@45500 -
2020-05-25 20:38:19 +00:00
svenbarth
1d4bbcef75 + add additional overloads for FindResource and FindResourceEx so that mixtures of AnsiString and MAKEINTRESOURCE types as well as names can be used
+ added test for ReadComponentRes (which called the wrong FindResource before)

git-svn-id: trunk@45479 -
2020-05-23 21:24:01 +00:00
florian
809fb83334 * adapt optimizer to handle push/pop for stack alignment
* adapt test

git-svn-id: trunk@45477 -
2020-05-23 17:50:14 +00:00
svenbarth
90c1bf2e12 * add tests\test\unit\types directory to list of tested directories
git-svn-id: trunk@45463 -
2020-05-22 12:45:20 +00:00
florian
51da470757 * constrained type parameters are not undefined defs, resolves #37107
git-svn-id: trunk@45457 -
2020-05-21 18:19:08 +00:00
Jonas Maebe
a88eee4080 * fixed unitdir directive for relative paths in case the current module's
path is not set, broken by r43312 (mantis #37095)

git-svn-id: trunk@45410 -
2020-05-17 21:27:00 +00:00
svenbarth
6b548b9016 * fix for Mantis #37042: apply patch and test (adjusted for Big Endian) by Bi0T1N to add support for TBitConverter
git-svn-id: trunk@45409 -
2020-05-17 20:59:57 +00:00
Jonas Maebe
6f165b6c01 * fixed tests
o fixed use of loop counter after end of loop
   o fixed reliance on old behaviour for int -> real typecasts

git-svn-id: trunk@45379 -
2020-05-16 13:31:28 +00:00
michael
f432bd9307 * Patch from Noel Duffy to add TrySTrToHost* functions
git-svn-id: trunk@45376 -
2020-05-16 13:11:28 +00:00
svenbarth
f0e8d5dfa6 * fix for Mantis #37043: apply patch by Bi0T1N (including test) to add additional overloads for IntToHex including a rerouting of the ordinal helpers' ToHexString to use these overloads
git-svn-id: trunk@45370 -
2020-05-15 15:14:19 +00:00
florian
7a60e044e3 * simplify constant expressions after re-ordering, resolves #37062
git-svn-id: trunk@45360 -
2020-05-13 20:26:04 +00:00
pierre
c77ef7d6dd Regenerate all Makefile's after change in utils/fpcm/fpcmake.ini to better support use of i386 compiler on x86_64 machines
git-svn-id: trunk@45356 -
2020-05-13 13:53:15 +00:00
michael
71e322d058 * Patch from Noel Duffy to improve IPV6 address parsing (bug ID tw37013)
git-svn-id: trunk@45350 -
2020-05-13 07:19:03 +00:00
florian
7a6bd84bc0 * cast only the longint
git-svn-id: trunk@45325 -
2020-05-10 12:52:17 +00:00
florian
b48c8d8596 * fixed test for 32 Bit targets
git-svn-id: trunk@45324 -
2020-05-10 09:04:13 +00:00
yury
a316229ef6 * Always use parentfp for forward-declared nested procedures.
git-svn-id: trunk@45320 -
2020-05-09 17:52:17 +00:00
nickysn
56b79257a1 * fixed fpmake invokation when building an i386-linux snapshot on a x86_64-linux host
git-svn-id: trunk@45298 -
2020-05-06 20:41:01 +00:00
yury
40504a6f9d * If a nested procedure does not access its parent's frame pointer, optimize it by removing the hidden $parentfp parameter.
* Improved the tisogoto1.pp test.

git-svn-id: trunk@45292 -
2020-05-06 14:43:49 +00:00