Irmen de Jong
a84320c7e2
add sgn(long) support, fix sgn() result type in IR
2025-10-12 12:22:32 +02:00
Irmen de Jong
598e70c49a
allow negative values on poke and pokew without an explicit cast
2025-10-11 16:39:36 +02:00
Irmen de Jong
0c59ad70d4
fix aliased pointer deref problem
2025-10-10 22:13:24 +02:00
Irmen de Jong
f4f34fc2ed
added symboltable into CompilationResult because it might be useful to inspect in tests
2025-10-07 00:26:43 +02:00
Irmen de Jong
37535f2913
optimize charfade example, added textspotlight example
2025-10-05 21:18:47 +02:00
Irmen de Jong
4ed92d71a7
remove "@split" tag
...
The default is to split word arrays. If you need your word array to not be split, use @nosplit on the array.
2025-10-05 17:06:21 +02:00
Irmen de Jong
3e1386a987
remove the -dontsplitarrays compiler option
...
it was still there for backward compatibility reasons with really old prog8 code. If you need a word array to be not split, just use @nosplit on the array.
2025-10-05 14:44:29 +02:00
Irmen de Jong
4195e3968a
remove needless library module imports in unit tests
2025-10-05 13:10:02 +02:00
Irmen de Jong
3e07b6ca70
adding long arrays
2025-10-03 01:22:24 +02:00
Irmen de Jong
d66dc664de
work on longs
2025-10-03 01:22:24 +02:00
Irmen de Jong
c09b1395f6
IR: add a unit test for the SSA basic block change
2025-10-01 22:49:51 +02:00
Irmen de Jong
d6a8201291
IR: fix SQRT reg1 type
2025-10-01 20:28:38 +02:00
Irmen de Jong
9d3b2f12fd
IR code blocks now better SSA basic blocks (ending with single branch instruction)
2025-10-01 19:08:44 +02:00
Irmen de Jong
a611406020
IR: add compilerversion attribute to p8ir file
2025-09-30 22:07:04 +02:00
Irmen de Jong
86b52a1c5e
fix endless loop in rewriting type of const long values
2025-09-29 22:28:13 +02:00
Irmen de Jong
2c7256a443
support assignment to indexed pointer targets
2025-09-27 14:52:04 +02:00
Irmen de Jong
97420b28e5
preparing to support assignment to indexed pointer targets
2025-09-27 11:03:55 +02:00
Irmen de Jong
abeefb5655
improved pointer[0]
2025-09-24 22:26:09 +02:00
Irmen de Jong
fd62fe7511
fix crash on invalid type cast added to ptr deref expression ('.' operator)
2025-09-22 23:54:01 +02:00
Irmen de Jong
4939e3df55
add sys.update_rasterirq, more robust sei/cli handling, added simple c64 sprite multiplexer example
2025-09-21 00:28:33 +02:00
Irmen de Jong
ad0c767ea8
%breakpoint! introduced to place after an assignment to make it parse correctly
2025-09-20 00:46:15 +02:00
Irmen de Jong
ed5f4d5855
fix missing subroutine argument list check
2025-09-19 05:35:03 +02:00
Irmen de Jong
c2f5d37486
new cx16/charfade.p8 example
2025-09-19 04:44:08 +02:00
Irmen de Jong
9461e4088c
fixed the hashtable example and workarounds for misbehaving defer in allocators
2025-09-17 22:53:01 +02:00
Irmen de Jong
ddf6e84a1a
fix type checks for wrong pointer types in pointer array initalizer and assignment
2025-09-16 21:18:29 +02:00
Irmen de Jong
633d6c34e2
add support for struct pointers and short-form initializers in arrays and assignments
2025-09-16 20:37:50 +02:00
Irmen de Jong
8b48a295b6
allow struct initializers to occur in array literals
2025-09-14 18:16:46 +02:00
Irmen de Jong
8bb927b483
fix compiler crash with on..call statement in nested scope
2025-09-13 06:44:49 +02:00
Irmen de Jong
1af4cd0d63
fix struct initializer error checking
2025-09-12 19:55:12 +02:00
Irmen de Jong
6de95f7a3b
new static struct initializer syntax ^^Node : [1,2,3]
...
avoids confusion with function calls
2025-09-10 13:47:12 +02:00
Irmen de Jong
82839a2d82
fix alias error and byte to word assignment error
2025-09-09 15:05:02 +02:00
Irmen de Jong
0b9384b556
fix typecasted byte-to-word pointer assignment, some more asm optimizations
2025-09-09 05:56:55 +02:00
Irmen de Jong
6c3277e3e3
fix more alias bugs
2025-09-09 02:28:05 +02:00
Irmen de Jong
e178097735
support more struct instance assignments via memcopy()
2025-09-08 13:18:50 +02:00
Irmen de Jong
a1ab8ed208
fixing alias bugs
2025-09-07 22:52:13 +02:00
Irmen de Jong
79629befc1
fix pointer arithmetic error in struct instance assignments (that get turned into a memcopy call)
2025-09-06 00:28:59 +02:00
Irmen de Jong
c39acc5031
fix mistakes
2025-09-04 00:30:00 +02:00
Irmen de Jong
28df08eea8
introduce P8ZP_SCRATCH_PTR temporary zp pointer to avoid clobbering W1,W2
2025-09-01 23:56:31 +02:00
Irmen de Jong
a7e9d8e14b
fix struct field offset calculations
2025-09-01 18:57:02 +02:00
Irmen de Jong
a9142b9ce5
slightly optimize certain pointer indexing calculation, fix invalid deref optimization
2025-08-31 13:40:28 +02:00
Irmen de Jong
ff9bec90ec
fix struct pointer array indexing field dereferencing
...
the pointers/sorting example now actually works on the 6502 too
2025-08-30 12:24:30 +02:00
Irmen de Jong
5eb2fc8d86
fix a bad pointer arithmetic optimization
2025-08-29 19:36:57 +02:00
Irmen de Jong
221a093e5f
optimize some pointer arithmetic, fix pointer arithmetic for ptr-value
2025-08-28 23:08:06 +02:00
Irmen de Jong
0f79351de9
support word size indexing on typed pointers
2025-08-25 22:58:48 +02:00
Irmen de Jong
3cdb25ce8e
fix invalid string comparisons being generated for regular pointer value comparison
2025-08-24 16:19:42 +02:00
Irmen de Jong
a68209be37
converting untyped to typed pointers in cx16 libraries
2025-08-24 14:13:02 +02:00
Irmen de Jong
fad17cc094
support a few other simple cases of struct instance assignment
2025-08-21 00:04:30 +02:00
Irmen de Jong
f93d957999
proper warning for struct instance assignment (not yet supported)
2025-08-20 20:35:29 +02:00
Irmen de Jong
8db0344cee
Merge branch 'master' into structs6502
...
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt
2025-08-19 23:10:15 +02:00
Irmen de Jong
32e531f951
test
2025-08-19 23:09:33 +02:00