Irmen de Jong
|
6a70fb0480
|
deal with invalid sqrt results (negative argument), allow sqrt of longs (like floats)
|
2025-10-21 21:01:03 +02:00 |
|
Irmen de Jong
|
be74290ddc
|
many more TODO messages now log proper source positions
|
2025-10-15 17:58:40 +02:00 |
|
Irmen de Jong
|
68066acdec
|
changed (and fixed) msb(long) and lsb(long)
|
2025-10-13 21:34:03 +02:00 |
|
Irmen de Jong
|
307796f115
|
fixed some bugs in optimizing long values
|
2025-10-12 23:15:42 +02:00 |
|
Irmen de Jong
|
e962431139
|
added bcd.addtol()/subfroml() for in-place long calculations
fix long overflow messages, IR register type error
|
2025-10-12 22:08:10 +02:00 |
|
Irmen de Jong
|
6db3611d93
|
fix typecast error when assigning pointer to long
|
2025-10-12 12:44:28 +02:00 |
|
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
|
396fcbc927
|
implement missing long typecasts
|
2025-10-07 17:46:10 +02:00 |
|
Irmen de Jong
|
e63921009c
|
added math.mul32(), verafx.muls now returns long
|
2025-10-04 21:54:53 +02:00 |
|
Irmen de Jong
|
8abdb837b2
|
fix long equality comparisons
|
2025-10-04 17:21:39 +02:00 |
|
Irmen de Jong
|
a7d98e43b8
|
cmp(long, long)
|
2025-10-03 22:41:59 +02:00 |
|
Irmen de Jong
|
845ee2dd83
|
smaller code for several long operations
|
2025-10-03 21:25:13 +02:00 |
|
Irmen de Jong
|
f9b0bfe31b
|
implement rol() and ror() on longs (also rol2 and ror2 and abs)
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
67f7ffa52d
|
multi value returns with longs
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
e0107bacbd
|
implement long << >> expressions
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
b3bd2a6a09
|
fixed a bunch of long type handling
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
ff1f58e022
|
implement simple + / - long expressions
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
b058f1c7c2
|
implement mklong(a,b,c,d) and mklong2(w1,w2)
|
2025-10-03 01:22:24 +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
|
a2b9d78cf3
|
start with introducing LONG datatype (32 bits signed integer)
|
2025-10-03 01:22:24 +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
|
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
|
a71895cbe8
|
optimize pointer.field += 1 into pointer.field INC/DEC
|
2025-09-18 19:27:36 +02:00 |
|
Irmen de Jong
|
f6c8e693a5
|
add offsetof()
|
2025-09-17 23:30:15 +02:00 |
|
Irmen de Jong
|
124ea1230b
|
fix vm to understand struct instances in arrays
|
2025-09-14 19:04:01 +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
|
79419a98d0
|
add if-expression versions for the conditionals if_cc, if_cs, if_vc etc
|
2025-09-11 01:57:30 +02:00 |
|
Irmen de Jong
|
a7e9d8e14b
|
fix struct field offset calculations
|
2025-09-01 18:57:02 +02:00 |
|
Irmen de Jong
|
3ef09d7d9a
|
use LOADFIELD instruction more instead of an extra explicit ADD
add implicit @zp to pointer variables if they don't have a preference
|
2025-08-31 15:53:44 +02:00 |
|
Irmen de Jong
|
5a3aa1bd25
|
optimized IR to return a constant value: use RETURNI
|
2025-08-26 22:54:11 +02:00 |
|
Irmen de Jong
|
79b8bb5c9f
|
Merge branch 'master' into structs6502
|
2025-08-19 01:12:50 +02:00 |
|
Irmen de Jong
|
fc5889ec0b
|
kotlin 2.2.10, kotest
|
2025-08-19 01:04:24 +02:00 |
|
Irmen de Jong
|
f74eeaee0f
|
fix IR address-of for array-indexed pointers (pointer arithmetic)
|
2025-08-18 03:24:32 +02:00 |
|
Irmen de Jong
|
4a8d5def84
|
code cleanups, pointer TODOs, docs dark mode
|
2025-08-16 11:25:18 +02:00 |
|
Irmen de Jong
|
fd9bd23449
|
6502 statementreorderer: str -> ^^ubyte
|
2025-08-13 18:45:29 +02:00 |
|
Irmen de Jong
|
9e85571a7b
|
fix pointer variable usage detection in other block
|
2025-08-05 17:39:22 +02:00 |
|
Irmen de Jong
|
d4e83b28bb
|
error messages and trying to improve support for struct allocs in arrays
added sorting example
|
2025-08-02 19:22:58 +02:00 |
|
Irmen de Jong
|
647cd0fbe1
|
fix pointer[i].field compiler crash
|
2025-08-02 05:29:16 +02:00 |
|
Irmen de Jong
|
88ee7a8187
|
fix expected outcome of function call arg type pointer test
|
2025-08-01 00:23:10 +02:00 |
|
Irmen de Jong
|
c4c5636a81
|
fixing array indexing on pointers
|
2025-07-29 23:41:38 +02:00 |
|
Irmen de Jong
|
23ad540aa5
|
fix IR codegen type error on array pointer dereference
|
2025-07-28 20:25:56 +02:00 |
|
Irmen de Jong
|
624220e9a3
|
fix boolean struct field as if conditional
|
2025-07-27 01:58:18 +02:00 |
|
Irmen de Jong
|
82267b3f56
|
Merge branch 'master' into structs
# Conflicts:
# compiler/test/codegeneration/TestVariables.kt
# docs/source/_static/symboldumps/skeletons-c128.txt
# docs/source/_static/symboldumps/skeletons-c64.txt
# docs/source/_static/symboldumps/skeletons-cx16.txt
# docs/source/_static/symboldumps/skeletons-pet32.txt
# docs/source/_static/symboldumps/skeletons-virtual.txt
# docs/source/todo.rst
# examples/test.p8
|
2025-07-26 12:43:13 +02:00 |
|
Irmen de Jong
|
67fb45a55b
|
don't produce invalid boolean initalization error. Fixes #173
|
2025-07-26 12:35:23 +02:00 |
|
Irmen de Jong
|
817f4f8e7c
|
Merge branch 'master' into structs
# Conflicts:
# compiler/src/prog8/compiler/Compiler.kt
# compiler/src/prog8/compiler/astprocessing/AstExtensions.kt
# compiler/src/prog8/compiler/astprocessing/StatementReorderer.kt
# docs/source/todo.rst
# examples/test.p8
|
2025-07-24 22:27:29 +02:00 |
|
Irmen de Jong
|
866313209b
|
fixed zp vars 0 initialization
|
2025-07-24 00:17:31 +02:00 |
|
Irmen de Jong
|
e14c3f8b59
|
code cleanups
|
2025-07-06 00:52:37 +02:00 |
|