Commit Graph

59306 Commits

Author SHA1 Message Date
florian
792cf056eb * a nil node is also a constant pointer node
+ convert (v1=const1) and (v2=const2) into ((v1 xor const1) or (v2 xor const2))=0 if the expressions have no side effects

git-svn-id: trunk@45555 -
2020-06-01 20:50:38 +00:00
nickysn
19a66947bc + parse the area records of REL files
git-svn-id: trunk@45554 -
2020-06-01 19:52:25 +00:00
nickysn
c8337937b3 + parse the REL header
git-svn-id: trunk@45553 -
2020-06-01 18:06:15 +00:00
nickysn
31b7fd8965 + partial implementation of TRelObjInput.ReadObjData
git-svn-id: trunk@45552 -
2020-06-01 17:29:29 +00:00
nickysn
8873a199ec * buffered text reading functions moved from being local to TRelObjInput.CanReadObjData
to being class members, so they can be used by ReadObjData as well

git-svn-id: trunk@45551 -
2020-06-01 15:17:47 +00:00
nickysn
996eaf16b3 + override TInternalLinkerZXSpectrum.GetCode/Data/BssSize to avoid access violation error
git-svn-id: trunk@45550 -
2020-06-01 14:02:10 +00:00
nickysn
7eb782446e + create a linker script for the ZX Spectrum internal linker
git-svn-id: trunk@45549 -
2020-06-01 13:54:27 +00:00
nickysn
3685b50e75 + set cobjdata in TIntelHexExeOutput.create;
git-svn-id: trunk@45548 -
2020-06-01 13:53:28 +00:00
nickysn
6104cd321c + set cobjdata in TRelObjInput.create
git-svn-id: trunk@45547 -
2020-06-01 13:14:46 +00:00
nickysn
b2714052d1 + override TInternalLinkerZXSpectrum.InitSysInitUnitName
git-svn-id: trunk@45546 -
2020-06-01 13:10:39 +00:00
Mattias Gaertner
67ba0641fc pas2js: fixed check if specialized class interface is needed
git-svn-id: trunk@45545 -
2020-06-01 11:50:08 +00:00
florian
42e4d66c5e * AArch64: enable TARMAsmOptimizer.OptPass1And
git-svn-id: trunk@45544 -
2020-05-31 21:40:59 +00:00
nickysn
8ffd756546 + added 'z80_internal_linker' build mode to the z80 lazarus project
git-svn-id: trunk@45543 -
2020-05-31 20:26:07 +00:00
nickysn
4a296c9f5d * enable the Z80 internal linker (not working yet) if the compiler is compiled with the Z80_INTERNAL_LINKER define
git-svn-id: trunk@45542 -
2020-05-31 19:39:12 +00:00
nickysn
3c8ac8d356 - removed the z80_internal_asm build mode, since it's now a feature enabled by default, not hidden behind an ifdef
git-svn-id: trunk@45541 -
2020-05-31 19:30:59 +00:00
nickysn
11cc085870 + implemented TRelObjInput.CanReadObjData
git-svn-id: trunk@45540 -
2020-05-31 17:45:12 +00:00
marco
c95b1348fb * make properties file binary the same for chms with binary index.
git-svn-id: trunk@45539 -
2020-05-31 16:10:00 +00:00
michael
700f3e6ec1 * Add dictionary tests for comparison with pas2js
git-svn-id: trunk@45538 -
2020-05-31 10:57:12 +00:00
Mattias Gaertner
9df74570a6 pas2js: filer: restore specialize class
git-svn-id: trunk@45537 -
2020-05-31 09:10:11 +00:00
florian
c5d7e6807c * ARM: factor out TARMAsmOptimizer.OptPass1And
git-svn-id: trunk@45536 -
2020-05-30 20:44:19 +00:00
Mattias Gaertner
9c8fc6bcf5 fcl-passrc: fixed specialize while-do and with-do
git-svn-id: trunk@45535 -
2020-05-30 18:18:28 +00:00
Mattias Gaertner
619776ad48 fcl-passrc: resolver: nicer incompatible types anonymous proc and proc type
git-svn-id: trunk@45531 -
2020-05-30 13:28:51 +00:00
Mattias Gaertner
d0faf82fcd pas2js: filer: started delay specialize
git-svn-id: trunk@45530 -
2020-05-30 11:48:08 +00:00
florian
0acae47310 * ARM: get rid of more unneeded sxtb/h uxtb/h instructions
git-svn-id: trunk@45529 -
2020-05-29 20:51:04 +00:00
nickysn
2353b1adee + started work on the Z80 internal linker
git-svn-id: trunk@45528 -
2020-05-29 18:13:18 +00:00
svenbarth
1c5d0220fe * enable tests for the Nullable unit
git-svn-id: trunk@45527 -
2020-05-29 13:04:37 +00:00
Mattias Gaertner
73a2b46263 fcl-passrc: specialize varargs of t
git-svn-id: trunk@45526 -
2020-05-29 12:48:42 +00:00
florian
651f5cb8a1 * ARM: (V)LDM do not load from the registers in the reg. set
git-svn-id: trunk@45525 -
2020-05-28 21:37:05 +00:00
nickysn
3f95fa50ef * use const_align(sizeof(pint)) alignment instead of sizeof(pint) for various
compiler-generated structures, so they don't waste any extra alignment space
  on 8-bit CPUs like the Z80 and the AVR

git-svn-id: trunk@45524 -
2020-05-28 21:08:02 +00:00
Mattias Gaertner
4637a882d5 pas2js: async function exit(promise)
git-svn-id: trunk@45523 -
2020-05-28 16:54:22 +00:00
svenbarth
0f372308b5 * fix comment: define is called HAS_OSCONFIG, not HAVE_OSCONFIG
git-svn-id: trunk@45522 -
2020-05-28 14:47:35 +00:00
michael
6b79e2c2c3 * Moved constant to rtlconsts
git-svn-id: trunk@45521 -
2020-05-28 09:45:43 +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
Mattias Gaertner
683c5c8faf fcl-passrc: allow external class function async
git-svn-id: trunk@45518 -
2020-05-27 18:30:00 +00:00
Mattias Gaertner
b6e2a228d3 pas2js: async proc type
git-svn-id: trunk@45517 -
2020-05-27 12:32:14 +00:00
michael
d81b21007f * Reset operator after variable list
git-svn-id: trunk@45516 -
2020-05-27 11:38:35 +00:00
michael
8b07fe33e6 * Various small fixes
git-svn-id: trunk@45515 -
2020-05-27 10:18:11 +00:00
michael
8e0a97ca42 * ObjCCategory
git-svn-id: trunk@45514 -
2020-05-27 08:45:19 +00:00
michael
96cd0020a6 * Allow pekIdent message type
git-svn-id: trunk@45513 -
2020-05-27 07:22:42 +00:00
michael
1877d667c4 * Fix warnings and hints
git-svn-id: trunk@45512 -
2020-05-27 07:11:21 +00:00
marcus
5ba080556e AmigaOS4: fixed TDosList record
git-svn-id: trunk@45511 -
2020-05-26 19:56:35 +00:00
nickysn
d88da03e7d * z80: use the JRJP pseudo instruction to generate shorter code (it is
translated to JR wherever possible, otherwise to JP)

git-svn-id: trunk@45510 -
2020-05-26 19:52:27 +00:00
florian
37a3b542e6 * avr: patch by Christo Crause: replace findreg_by_gasname with gas_regname_table, resolves #37131
git-svn-id: trunk@45509 -
2020-05-26 19:52:19 +00:00
michael
4a6080d602 * Descriptive error messages
git-svn-id: trunk@45508 -
2020-05-26 16:40:18 +00:00
michael
3e344a12e2 * Start ObjCClass support
git-svn-id: trunk@45507 -
2020-05-26 16:22:32 +00:00
Mattias Gaertner
c305689305 pas2js: calling async function returns promise, await(async proc);
git-svn-id: trunk@45506 -
2020-05-26 08:48:14 +00:00
Mattias Gaertner
996bd416e0 fcl-passrc: made async a procedure type modifier, distinguish function result when called and when referred
git-svn-id: trunk@45505 -
2020-05-26 08:47:10 +00:00
michael
c88d7b3bfe * Patch to try more 1.1 library names on windows (bug ID 37137)
git-svn-id: trunk@45504 -
2020-05-26 07:48:23 +00:00
michael
89957c49d4 * Expose status vector in interbase code, adapted patch by Joeny Ang. bug ID #0037143
git-svn-id: trunk@45503 -
2020-05-26 07:20:44 +00:00