Commit Graph

5089 Commits

Author SHA1 Message Date
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
Károly Balogh
cab80d1218 amiga-likes: add headers for timer.device/GetSysTime()
git-svn-id: trunk@45712 -
2020-06-28 22:23:36 +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
9710b2cbb4 + some basic stuff for mips64el
git-svn-id: trunk@45614 -
2020-06-07 20:04:17 +00:00
michael
816ff7966b * Tests for Stack/Queue comparison with pas2js
git-svn-id: trunk@45610 -
2020-06-07 15:37:49 +00:00
svenbarth
95f94bebba * forgot to commit the generated Makefile
git-svn-id: trunk@45609 -
2020-06-07 12:25:15 +00:00
svenbarth
ac5093274d + add support for port object on Z80 using the new IN/OUT intrinsics
git-svn-id: trunk@45608 -
2020-06-07 12:25:10 +00:00
svenbarth
c793f42271 + add intrinsics for Z80 port IN/OUT
git-svn-id: trunk@45607 -
2020-06-07 12:24:59 +00:00
svenbarth
ac8552afc2 + add initial RTL for MSX DOS. Simple programs are already working, but there are apparantly some code generation problems that lead to I/O as well as parameters not working correctly
git-svn-id: trunk@45600 -
2020-06-06 17:16:45 +00:00
svenbarth
921e73ab0c + add compiler support for the Z80 MSX-DOS target
git-svn-id: trunk@45596 -
2020-06-06 17:16:20 +00:00
svenbarth
bf96709e39 * with ihx2tzx now also supporting binary output it makes sense to rename it to something more generic
git-svn-id: trunk@45594 -
2020-06-06 17:16:08 +00:00
michael
700f3e6ec1 * Add dictionary tests for comparison with pas2js
git-svn-id: trunk@45538 -
2020-05-31 10:57:12 +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
Károly Balogh
9f80b11c5d tosunits: added another example which shows a DEGAS format picture
git-svn-id: trunk@45474 -
2020-05-23 14:26:41 +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
f9672b53a2 - removed old float-to-string and string-to-float conversion code
git-svn-id: trunk@45401 -
2020-05-17 14:05:38 +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
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
yury
a316229ef6 * Always use parentfp for forward-declared nested procedures.
git-svn-id: trunk@45320 -
2020-05-09 17:52:17 +00:00
Károly Balogh
bc9b8af04b m68k: add the converted includes, based on m68kins.dat
git-svn-id: trunk@45311 -
2020-05-08 12:11:13 +00:00
Károly Balogh
d5874b0088 m68k: added a full instruction table (minus CF MAC/EMAC instructions for now), based on vasm, and the required tool to process it
git-svn-id: trunk@45310 -
2020-05-08 12:05:11 +00:00
florian
f8e7d0bc09 - remove unused files, resolves #37032
git-svn-id: trunk@45306 -
2020-05-07 20:36:09 +00:00
yury
c1d124d497 * x86: Fixed peephole optimization introduced in r44233. tb0219 and tb0548 tests have failed with -O2 since then.
* Added variants of the tb0219 and tb0548 tests with forced -O2.

git-svn-id: trunk@45291 -
2020-05-06 14:18:44 +00:00
svenbarth
3d2945726a * handle generic parameters in Ord()
+ added test

git-svn-id: trunk@45232 -
2020-05-03 15:08:31 +00:00
florian
b6097a0300 * correctly handle result type of string constant nodes for internally created
nodes

git-svn-id: trunk@45231 -
2020-05-03 12:41:17 +00:00
Jonas Maebe
722ad1ff7b * support floating point parameters split over multiple locations, including
integer registers, for homogeneous records/arrays on ppc64le (related to
    mantis #36934)

git-svn-id: trunk@45205 -
2020-05-01 13:02:48 +00:00
Jonas Maebe
05923af386 * ppc64le: fix storing homogeneous 64 bit float parameters in case they are
split over just FPU registers and memory (related to mantis #36934)

git-svn-id: trunk@45204 -
2020-05-01 13:02:45 +00:00
Jonas Maebe
d83232f881 * ELFv2: fixed homogeneous aggregate parameter passing when they should
overflow into integer registers (mantis #36934)

git-svn-id: trunk@45199 -
2020-04-30 20:53:05 +00:00
marcus
95ced4a7f5 Amiga: special CRT unit (named vidcrt) based on video unit
git-svn-id: trunk@45197 -
2020-04-30 19:28:45 +00:00
nickysn
19c1ecda54 + started work on the Z80 internal assembler
git-svn-id: trunk@45191 -
2020-04-30 14:27:48 +00:00
Károly Balogh
c206415450 zxspectrum: pascal startup code. this allows the RTL to be built with any assembler
git-svn-id: trunk@45165 -
2020-04-28 23:13:29 +00:00