Commit Graph

52628 Commits

Author SHA1 Message Date
Mattias Gaertner
7f15b109ad pastojs: 0.9.1
git-svn-id: trunk@38104 -
2018-02-03 15:47:07 +00:00
marco
97ceb89ca8 * patch from Ondrej, mantis #33118, some constructor overloaded to ease initializing encoding
git-svn-id: trunk@38103 -
2018-02-03 15:42:08 +00:00
Mattias Gaertner
4015709d6b pastojs: started module
git-svn-id: trunk@38102 -
2018-02-03 15:41:32 +00:00
Károly Balogh
ba2327f89b macos: initial cross-linker support, based on the binutils in the Retro68 GNU binutils
git-svn-id: trunk@38101 -
2018-02-02 23:01:25 +00:00
michael
94b6fe6ad3 * added O_CLOEXEC
git-svn-id: trunk@38100 -
2018-02-02 10:33:13 +00:00
Mattias Gaertner
70a2f8e1f1 fcl-passrc: fixed class local const
git-svn-id: trunk@38099 -
2018-02-01 22:00:38 +00:00
nickysn
50acde9e36 + also add 'rep; db $66; movsw' to the tasm16.pp test
git-svn-id: trunk@38098 -
2018-02-01 20:00:43 +00:00
Mattias Gaertner
b8710d8fec fcl-passrc: fixed stConstDef for class local const
git-svn-id: trunk@38097 -
2018-02-01 17:48:44 +00:00
nickysn
1f0e311fdd + allow segment override prefixes to be used as a standalone opcode in the intel
syntax inline assembler; this is TP7 compatible and allows compiling ugly
  code, such as 'seges; db $67,$66; lodsw'

git-svn-id: trunk@38096 -
2018-02-01 17:31:59 +00:00
Mattias Gaertner
32fee98477 pas2js: docs: anonymous functions
git-svn-id: trunk@38095 -
2018-02-01 12:55:53 +00:00
Mattias Gaertner
1955a5bd1a pas2js: docs: reference to
git-svn-id: trunk@38094 -
2018-02-01 12:40:52 +00:00
Mattias Gaertner
8d64a23bd2 pastojs: read/write modeswitches
git-svn-id: trunk@38093 -
2018-02-01 12:40:23 +00:00
florian
7d1d91e9cc * compile math (and sysutils as a a dependency) unit on m68k-embedded, resolves #33068
* some more features having only minimal impact on memory requiremets and needed for math/sysutils enabled on m68k-embedded

git-svn-id: trunk@38092 -
2018-01-31 20:57:07 +00:00
florian
2e3a12c69d * version update
git-svn-id: trunk@38091 -
2018-01-31 18:52:18 +00:00
florian
b9d4240a8d + version update
git-svn-id: trunk@38090 -
2018-01-31 18:46:23 +00:00
florian
6b5a514148 * based on a patch by Christo Crause: in finalizeavrcode, ignore assembler breq statements taking an absolute value, resolves #32109
git-svn-id: trunk@38089 -
2018-01-31 18:38:33 +00:00
florian
0662b611ca * patch by Christo Crause: prevent that the compiler converts breq into jmp in inline assembler blocks, resolves #32949
git-svn-id: trunk@38088 -
2018-01-31 18:34:42 +00:00
Mattias Gaertner
d580402916 pastojs: set version 0.9.0
git-svn-id: trunk@38087 -
2018-01-31 13:07:49 +00:00
Mattias Gaertner
9dd2ddb8b0 pasotjs: fixed implict call procttype arg
git-svn-id: trunk@38086 -
2018-01-31 11:51:17 +00:00
Mattias Gaertner
373c7fb655 pastojs: test EncodeVLQ
git-svn-id: trunk@38085 -
2018-01-31 11:26:52 +00:00
Mattias Gaertner
fb9e51a440 fcl-passrc: scanner: store used filenames
git-svn-id: trunk@38084 -
2018-01-31 11:26:30 +00:00
Mattias Gaertner
7205ecb0f2 fcl-js: fixed comment in jssrcmap
git-svn-id: trunk@38083 -
2018-01-31 11:25:38 +00:00
florian
10516f21f8 * patch by Christo Crause to resolve #33098: AVR - LDS assembler instruction with absolute address gives compiler error
git-svn-id: trunk@38082 -
2018-01-30 20:22:42 +00:00
Mattias Gaertner
064e7f391e fcl-passrc: useanalyzer: no hint for assembler result
git-svn-id: trunk@38081 -
2018-01-29 21:01:22 +00:00
Mattias Gaertner
1267814275 fcl-passrc: useanalyzer: no hint for assembler result
git-svn-id: trunk@38080 -
2018-01-29 20:53:15 +00:00
Mattias Gaertner
32d9e32899 pastojs: const float
git-svn-id: trunk@38079 -
2018-01-29 19:46:48 +00:00
Mattias Gaertner
d139b3e8f1 pas2js: docs
git-svn-id: trunk@38078 -
2018-01-29 17:45:53 +00:00
Mattias Gaertner
6ef4c4af92 pastojs: external class const
git-svn-id: trunk@38077 -
2018-01-29 17:39:06 +00:00
Mattias Gaertner
f812c657db fcl-passrc: resolver: external class const
git-svn-id: trunk@38076 -
2018-01-29 17:38:52 +00:00
Károly Balogh
cbf0ff8430 amunits: fix AutoConfig structures aligment, 2 bytes alignment is needed. change tested against real hardware.
git-svn-id: trunk@38075 -
2018-01-28 23:10:17 +00:00
Mattias Gaertner
9bb7ad3ac6 pastojs: array of proctype, proctype to jsvalue argument
git-svn-id: trunk@38074 -
2018-01-28 21:47:28 +00:00
Mattias Gaertner
ac18dc0321 fcl-passrc: resolver: store rrfNoImplicitCallWithoutParams, store flags for set params
git-svn-id: trunk@38073 -
2018-01-28 21:46:12 +00:00
florian
796eb542be * LDD/STD need always an offset, resolves #33086
git-svn-id: trunk@38072 -
2018-01-28 21:06:13 +00:00
florian
92e616e30c * error happens only with optimization
git-svn-id: trunk@38071 -
2018-01-28 14:41:57 +00:00
florian
810acd82b2 * patch by J. Gareth Moreton that makes some improvements to the Peephole Optimizer for x86 and x86-64 code, as well as some cleanup with formatting, code syntax consistency, and debug messages.
- xorq %reg,%reg (identical registers) is now changed to xorl %reg,%reg if doing so removes the REX prefix.
  - movw %bx,%ax; andl $0xffff,%eax, for example, is now changed to movzwl %bx,%eax as long as a conditional operation doesn't follow 'and' (checks to see if the CPU flags are in use).
  - movzbq and movzwq get optimised to movzbl and movzwl respectively if doing so removes the REX prefix.
  - Removal of optimisation code that zero-extends from 32-bit to 64-bit, because there isn't actually a valid combination of opcodes for MOVZX that allows that (for registers,
    just use  MOV). This is not the case with MOVSX.
  - movq is now optimised to movl even if the CPU flags are in use (this stops mov %reg,0 from being optimised to xor %reg,%reg if doing so breaks an algorithm that relies on them).
  - Fixed typo in peephole message regarding movq to movl (it said movd instead).
  - Made the peephole debug messages more consistent in formatting, some of which now have more detail.
* small fixes of the patch

git-svn-id: trunk@38070 -
2018-01-28 14:41:54 +00:00
florian
10ea652493 * fix for #32576
+ test case

git-svn-id: trunk@38069 -
2018-01-28 13:26:49 +00:00
florian
93353d8d79 * typo
git-svn-id: trunk@38068 -
2018-01-28 13:26:47 +00:00
florian
52510ea933 + TUsedRegs.Dump
git-svn-id: trunk@38067 -
2018-01-28 13:26:45 +00:00
michael
afa2b90a5d * Fix bug ID #33080
git-svn-id: trunk@38066 -
2018-01-28 10:38:55 +00:00
michael
5a9488b1fc * Add test for clearfields
git-svn-id: trunk@38065 -
2018-01-28 10:16:53 +00:00
michael
ecff685b80 * Fix bug ID #33081, dataset should be in edit mode for calling clearfields
git-svn-id: trunk@38064 -
2018-01-28 10:00:19 +00:00
michael
551d3eda26 * Fix bug #33078, missing MatchText
git-svn-id: trunk@38063 -
2018-01-28 09:32:04 +00:00
michael
a94ebf008c * Fix bug #33079, missing IndexText
git-svn-id: trunk@38062 -
2018-01-28 09:29:30 +00:00
Mattias Gaertner
517e2e3218 fcl-passrc: parser: check semicolon after if then
git-svn-id: trunk@38061 -
2018-01-27 16:25:57 +00:00
svenbarth
9240e0c2e6 * fix 32-bit * 32-bit => 64-bit for Coldfire
git-svn-id: trunk@38060 -
2018-01-27 14:26:18 +00:00
Mattias Gaertner
898b566837 pas2js:: rtl.js: add Math.trunc only if used
git-svn-id: trunk@38059 -
2018-01-27 14:15:36 +00:00
Mattias Gaertner
b0367d4430 pas2js: fixed skipping #else
git-svn-id: trunk@38058 -
2018-01-27 14:12:43 +00:00
Mattias Gaertner
eb3ba71b98 pastojs: forbid external class const expr
git-svn-id: trunk@38057 -
2018-01-27 11:35:30 +00:00
Mattias Gaertner
b7a373b132 pastojs: forbid external class const expr
git-svn-id: trunk@38056 -
2018-01-27 11:35:04 +00:00
Mattias Gaertner
8ffcfc4552 fcl-passrc: resolver: fixed checking class vars and class types
git-svn-id: trunk@38055 -
2018-01-27 11:34:25 +00:00