Irmen de Jong
|
0d2c3901a3
|
added more constfolding
|
2021-12-09 22:12:31 +01:00 |
|
Irmen de Jong
|
d901a1531f
|
added missing vectors to syslib
|
2021-12-09 21:38:00 +01:00 |
|
Irmen de Jong
|
d8d56b195f
|
comments
|
2021-12-09 21:13:13 +01:00 |
|
Irmen de Jong
|
a52699717c
|
Merge remote-tracking branch 'origin/master'
# Conflicts:
# compiler/src/prog8/compiler/astprocessing/AstChecker.kt
# compiler/test/TestSubroutines.kt
# examples/test.p8
|
2021-12-07 23:29:30 +01:00 |
|
Irmen de Jong
|
98315de723
|
allow using ubyte[] as subroutine parameter type (because it is equivalent to uword pointer var)
|
2021-12-07 23:28:45 +01:00 |
|
Irmen de Jong
|
68d2f7d4c0
|
allow using ubyte[] as subroutine parameter type (because it is equivalent to uword pointer var)
|
2021-12-07 23:21:49 +01:00 |
|
Irmen de Jong
|
c812b5ee09
|
elaborate pointervar indexing a bit more in the docs
|
2021-12-07 22:25:14 +01:00 |
|
Irmen de Jong
|
dcf487bdc1
|
fix: correctly insert return statement if needed to prevent 'fall through' into following subroutine
this wasn't working correctly anymore when the last statement before the subroutine was a jump/goto
|
2021-12-07 21:34:50 +01:00 |
|
Irmen de Jong
|
547b1d3720
|
comment corrections
|
2021-12-06 23:33:18 +01:00 |
|
Irmen de Jong
|
84f75f4156
|
tweaked some more .getOrElse
|
2021-12-06 21:22:00 +01:00 |
|
Irmen de Jong
|
ff69da3fa2
|
error when 'else' choice in when statemetn isn't the last one, also generate slightly better code for when statements
|
2021-12-05 21:54:46 +01:00 |
|
Irmen de Jong
|
edffe92a24
|
astchecker is smarter in detecting rts in inline assembly
|
2021-12-05 21:28:31 +01:00 |
|
Irmen de Jong
|
b6fe40ada4
|
fix: cx16.r0 now properly treated as zeropage var on cx16 so @(cx16.r0) won't copy it to temp var anymore
|
2021-12-05 21:21:41 +01:00 |
|
Irmen de Jong
|
837804b231
|
test for string x and u escape sequences
|
2021-12-05 18:39:34 +01:00 |
|
Irmen de Jong
|
81deed143b
|
fix grammar problem: \x and \u escape sequences didn't work in character literals.
|
2021-12-05 18:11:40 +01:00 |
|
Irmen de Jong
|
900cdd3fa1
|
added cx16diskio with load() and load_raw() that are HIMEM bank-aware
|
2021-12-05 02:20:48 +01:00 |
|
Irmen de Jong
|
0018dc6ce7
|
refactor machinedefinition
|
2021-12-04 19:07:19 +01:00 |
|
Irmen de Jong
|
c92f914081
|
gradle build settings tweak to avoid jdk version conflict
|
2021-12-04 18:36:47 +01:00 |
|
Irmen de Jong
|
0498444ef2
|
moved all unit tests into single project to avoid dependency issues
|
2021-12-04 18:20:22 +01:00 |
|
Irmen de Jong
|
ce3c34e458
|
tweak in error output for file links, corrected column number off-by-one
|
2021-12-04 16:52:03 +01:00 |
|
Irmen de Jong
|
20401b99d8
|
added cx16.getrambank() / getrombank() to retrieve the current ram and rom bank numbers.
|
2021-12-04 15:27:54 +01:00 |
|
Irmen de Jong
|
397f98513b
|
optimize loading A from pointervar
|
2021-12-04 05:36:48 +01:00 |
|
Irmen de Jong
|
e545ea9504
|
fix and optimize storing A into pointervar
|
2021-12-04 04:43:58 +01:00 |
|
Irmen de Jong
|
b867d8f731
|
cleanups
|
2021-12-04 01:03:51 +01:00 |
|
Irmen de Jong
|
9a68864b67
|
version 7.5-dev
|
2021-12-04 00:18:44 +01:00 |
|
Irmen de Jong
|
72d7178762
|
added diskio.load_raw() to load headerless files
|
2021-12-04 00:07:21 +01:00 |
|
Irmen de Jong
|
fbcd9a0c1d
|
reduce number of similar errors for type problem in assignment
|
2021-12-02 17:44:52 +01:00 |
|
Irmen de Jong
|
c3144a20db
|
spacing
|
2021-12-02 00:10:06 +01:00 |
|
Irmen de Jong
|
5b56e0462d
|
also deal with zero args
|
2021-12-01 22:26:36 +01:00 |
|
Irmen de Jong
|
b7fffbb6df
|
release 7.4.1 - oops, funcion call arg count validation was broken
|
2021-12-01 21:44:03 +01:00 |
|
Irmen de Jong
|
1f346230e3
|
release 7.4
|
2021-11-30 22:50:12 +01:00 |
|
Irmen de Jong
|
a2860a7c8c
|
todo
|
2021-11-30 22:45:43 +01:00 |
|
Irmen de Jong
|
df997e5d3b
|
don't write the asm file twice
|
2021-11-30 03:47:57 +01:00 |
|
Irmen de Jong
|
a67a82c921
|
tweak
|
2021-11-30 03:05:25 +01:00 |
|
Irmen de Jong
|
ea0fe8d3d2
|
PrefixExpression doesn't cause clobber risk
|
2021-11-30 02:32:37 +01:00 |
|
Irmen de Jong
|
2560042ac7
|
fix compiler crashes on in-place operations on cx16 registers or invalid signed types
|
2021-11-30 02:27:37 +01:00 |
|
Irmen de Jong
|
3d1d0696b9
|
refactor compiler arguments passing
|
2021-11-30 01:40:21 +01:00 |
|
Irmen de Jong
|
83f893f50b
|
doc
|
2021-11-30 00:54:03 +01:00 |
|
Irmen de Jong
|
9ecf95b075
|
fix syntaxerror in const processing of ranges if it contained variables
|
2021-11-29 23:36:41 +01:00 |
|
Irmen de Jong
|
7748c261da
|
rsave/rrestore moved from sys to builtin function to solve the stack related problem when calling it as a regular subroutine
|
2021-11-29 23:13:04 +01:00 |
|
Irmen de Jong
|
a2db44f80c
|
also consider Y register for clobber check for functioncall arguments
|
2021-11-29 22:09:05 +01:00 |
|
Irmen de Jong
|
b438d8aec0
|
fix invalid range size check when stepval is not a positive integer
|
2021-11-29 02:01:19 +01:00 |
|
Irmen de Jong
|
4ac169b210
|
formatting
|
2021-11-29 01:25:21 +01:00 |
|
Irmen de Jong
|
56dc6d7f1e
|
comment
|
2021-11-29 01:10:11 +01:00 |
|
Irmen de Jong
|
45b8762188
|
use inc/ina instead of adc
|
2021-11-29 00:07:15 +01:00 |
|
Irmen de Jong
|
cafab98d10
|
correction
|
2021-11-28 18:59:36 +01:00 |
|
Irmen de Jong
|
9256f910f0
|
rollback binexpr splitting, caused slowdowns
|
2021-11-28 18:50:05 +01:00 |
|
Irmen de Jong
|
32068a832a
|
split some additional binary expressions to avoid stack-based evaluation
|
2021-11-28 18:27:28 +01:00 |
|
Irmen de Jong
|
47c2c0376a
|
added some cpu stack related assembly-level optimizations
|
2021-11-28 17:27:01 +01:00 |
|
Irmen de Jong
|
f0dadc4a43
|
optimize 1-arg functioncalls
|
2021-11-28 16:55:10 +01:00 |
|