Irmen de Jong
|
37ecdc47b3
|
allow ptr1^^ = ptr^^ (replaces it with memcopy)
|
2025-05-29 16:34:47 +02:00 |
|
Irmen de Jong
|
112ca3cc53
|
allow sizeof(&thing), add sys.SIZEOF_POINTER
|
2025-05-29 15:58:29 +02:00 |
|
Irmen de Jong
|
33b3a1664c
|
replace sizeof(list^^) with sizeof(List) to allow it to compile. Same with simple pointers.
|
2025-05-29 14:13:42 +02:00 |
|
Irmen de Jong
|
8a0c02e264
|
Merge branch 'refs/heads/master' into structs
# Conflicts:
# codeCore/src/prog8/code/target/NormalMemSizer.kt
# codeCore/src/prog8/code/target/VMTarget.kt
# compiler/src/prog8/compiler/BuiltinFunctions.kt
# compilerAst/src/prog8/ast/antlr/Antlr2Kotlin.kt
# examples/test.p8
|
2025-05-29 13:42:16 +02:00 |
|
Irmen de Jong
|
3b1b0985c1
|
make sizeof(float) work, so you don't have to use sys.SIZEOF_FLOAT anymore etc.
define sys.SIZEOF_FLOAT in terms of sizeof(float)
|
2025-05-29 12:38:03 +02:00 |
|
Irmen de Jong
|
4c0e6e2640
|
fix split/nosplit pointer arrays, replace ubyteptr^^ with @(ubyteptr), fix double dereference
|
2025-05-29 00:36:55 +02:00 |
|
Irmen de Jong
|
08b314c37d
|
IR: fix various register type mismatches
|
2025-05-28 22:15:07 +02:00 |
|
Irmen de Jong
|
86da9d3c7e
|
assigning to plain pointer with array indexing
|
2025-05-28 18:08:53 +02:00 |
|
Irmen de Jong
|
4e61e25c02
|
Merge branch 'master' into structs
# Conflicts:
# compiler/test/TestTypecasts.kt
|
2025-05-27 23:52:59 +02:00 |
|
Irmen de Jong
|
368387e1a7
|
allow floats to be (explicitly) cast to integers
|
2025-05-26 21:39:48 +02:00 |
|
Irmen de Jong
|
09d2185bb1
|
PtArrayIndexer variable is now nullable (because it could be a ptr deref instead)
|
2025-05-25 23:04:32 +02:00 |
|
Irmen de Jong
|
5c02e2bd71
|
fix a ptr indexing case, fix address-of fields
|
2025-05-25 21:32:31 +02:00 |
|
Irmen de Jong
|
fb01389b3d
|
cleaning up pointer deref
|
2025-05-25 18:33:37 +02:00 |
|
Irmen de Jong
|
aaa81210ce
|
cleaning up pointer indexing
|
2025-05-25 02:56:32 +02:00 |
|
Irmen de Jong
|
51269257ea
|
fix a.b.c.d desugaring into pointer deref chain
|
2025-05-24 14:48:02 +02:00 |
|
Irmen de Jong
|
db6c887795
|
Merge branch 'master' into structs
# Conflicts:
# compiler/test/ast/TestVariousCompilerAst.kt
|
2025-05-21 00:27:45 +02:00 |
|
Irmen de Jong
|
cf7bea0985
|
cleanup RTS insertion and ast postprocessing before assembly generation
|
2025-05-21 00:19:50 +02:00 |
|
Irmen de Jong
|
61fe55168a
|
Merge branch 'master' into structs
# Conflicts:
# codeGenIntermediate/src/prog8/codegen/intermediate/AssignmentGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/ExpressionGen.kt
# examples/test.p8
|
2025-05-20 22:35:04 +02:00 |
|
Irmen de Jong
|
1c4999ec87
|
adding ptr unit tests
|
2025-05-20 20:57:05 +02:00 |
|
Irmen de Jong
|
c726d3f937
|
fix ptr errors
|
2025-05-19 22:49:07 +02:00 |
|
Irmen de Jong
|
f70341df1b
|
fix ptr errors
|
2025-05-19 20:06:31 +02:00 |
|
Irmen de Jong
|
f0b791452e
|
fix many ptr deref errors
|
2025-05-19 01:33:57 +02:00 |
|
Irmen de Jong
|
adf5600a9b
|
simplify
|
2025-05-18 18:37:19 +02:00 |
|
Irmen de Jong
|
6d4ccc5feb
|
fix pointer variable not getting marked as used in some cases
|
2025-05-18 13:23:56 +02:00 |
|
Irmen de Jong
|
5f3829d5cc
|
partly fix weird errors for ptr indexed expressions
|
2025-05-17 22:56:41 +02:00 |
|
Irmen de Jong
|
96f690e749
|
fix a ptr indexing error
|
2025-05-17 20:27:38 +02:00 |
|
Irmen de Jong
|
eabdd3a8f3
|
fix the ptr.uword[index] assignment target error
|
2025-05-17 14:57:24 +02:00 |
|
Irmen de Jong
|
50650b966b
|
repeat countervars again in zeropage if possible, fix pointer arithmetic error
|
2025-05-17 14:18:56 +02:00 |
|
Irmen de Jong
|
65e34d4989
|
stricter types for & operator (address-of), and fix invalid recursive subroutine flagging related to struct definition
|
2025-05-17 11:32:54 +02:00 |
|
Irmen de Jong
|
05dad5ab5f
|
cleanup 6502 pointer usage checks
|
2025-05-16 21:44:28 +02:00 |
|
Irmen de Jong
|
86eef7039f
|
@(..) now also accepts pointer to ubyte address
|
2025-05-15 20:07:02 +02:00 |
|
Irmen de Jong
|
913ab03963
|
get rid of invalid ARRAY_STRUCT data type (arrays of struct instance are not yet supported)
|
2025-05-14 20:43:00 +02:00 |
|
Irmen de Jong
|
924e28e9b3
|
Merge branch 'master' into structs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/AsmGen.kt
# compiler/src/prog8/compiler/astprocessing/CodeDesugarer.kt
# compiler/src/prog8/compiler/astprocessing/SimplifiedAstMaker.kt
# compilerAst/src/prog8/ast/AstToSourceTextConverter.kt
# compilerAst/src/prog8/ast/antlr/Antlr2Kotlin.kt
# compilerAst/src/prog8/ast/walk/AstWalker.kt
# compilerAst/src/prog8/ast/walk/IAstVisitor.kt
# docs/source/todo.rst
# examples/test.p8
# parser/src/main/antlr/Prog8ANTLR.g4
|
2025-05-11 23:23:06 +02:00 |
|
Irmen de Jong
|
31c1bf8bc5
|
added on..goto/call statement
|
2025-05-11 21:37:44 +02:00 |
|
Irmen de Jong
|
37d4055036
|
translate newline '\n' to char code 13 in various encodings such as ISO (used to be 10)
This means that when printed, such newlines will now properly go to the next line in these encodings too (ISO variants, KATAKANA).
|
2025-05-11 19:45:24 +02:00 |
|
Irmen de Jong
|
abbb7d7ba3
|
fix struct pointers in subroutine parameters and return values
|
2025-05-11 02:08:59 +02:00 |
|
Irmen de Jong
|
59c378089e
|
fix some struct type and symbol lookup errors
|
2025-05-11 00:52:35 +02:00 |
|
Irmen de Jong
|
246e4f35a6
|
Merge branch 'master' into structs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/ExpressionGen.kt
# compiler/test/ast/TestConst.kt
# docs/source/todo.rst
# examples/test.p8
|
2025-05-10 16:36:16 +02:00 |
|
Irmen de Jong
|
99b9370178
|
fix various bugs around word-indexing combined with address-of: &buffer[2000]
|
2025-05-10 16:22:05 +02:00 |
|
Irmen de Jong
|
506062c6b6
|
start implementing ptr deref augmented assigns
|
2025-05-09 23:05:27 +02:00 |
|
Irmen de Jong
|
8353c689ca
|
start making '&' (address-of) return a typed pointer, fixes some errors
|
2025-05-08 23:40:41 +02:00 |
|
Irmen de Jong
|
e98e6f70ac
|
Merge branch 'master' into structs
# Conflicts:
# compiler/src/prog8/compiler/astprocessing/AstChecker.kt
# compiler/test/TestTypecasts.kt
# docs/source/todo.rst
# examples/test.p8
# gradle.properties
|
2025-05-07 23:26:21 +02:00 |
|
Irmen de Jong
|
53e442d509
|
fix regression in 11.3.1: allow bitwise operation between different types as long as they're the same size.
|
2025-05-07 23:06:45 +02:00 |
|
Irmen de Jong
|
134352ed7c
|
Merge branch 'master' into structs
# Conflicts:
# compiler/test/TestTypecasts.kt
# docs/source/todo.rst
# examples/test.p8
# virtualmachine/src/prog8/vm/VmProgramLoader.kt
|
2025-05-07 22:32:41 +02:00 |
|
Irmen de Jong
|
f7cbfdff06
|
skip this test for now
|
2025-05-07 21:14:52 +02:00 |
|
Irmen de Jong
|
b28ee0819f
|
revert behavior change of @dirty variables, instead document the initialization behavior correctly in the docs
they get zeroed at program startup (like other uninitialized BSS variables), just not on entry in the subroutine.
|
2025-05-07 21:07:12 +02:00 |
|
Irmen de Jong
|
5de626aab8
|
support comparison operators on pointers
|
2025-05-06 22:26:27 +02:00 |
|
Irmen de Jong
|
701f155951
|
Merge branch 'master' into structs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/ProgramAndVarsGen.kt
# compiler/test/TestSymbolTable.kt
# docs/source/todo.rst
# examples/test.p8
# intermediate/src/prog8/intermediate/IRFileReader.kt
# intermediate/src/prog8/intermediate/IRFileWriter.kt
# intermediate/src/prog8/intermediate/IRSymbolTable.kt
# simpleAst/src/prog8/code/SymbolTable.kt
# simpleAst/src/prog8/code/SymbolTableMaker.kt
# virtualmachine/src/prog8/vm/VmProgramLoader.kt
|
2025-05-06 17:59:36 +02:00 |
|
Irmen de Jong
|
522958e0e9
|
@dirty variables now actually end up in the uninitialized BSS_NOCLEAR section
|
2025-05-06 01:41:34 +02:00 |
|
Irmen de Jong
|
af920d1427
|
pointer arithmetic for '-', fixed '+'
|
2025-05-05 21:06:49 +02:00 |
|