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
This commit is contained in:
Irmen de Jong
2025-05-07 23:24:28 +02:00
2 changed files with 20 additions and 16 deletions

View File

@@ -976,32 +976,32 @@ main {
BinaryExpression.commonDatatype(DataType.WORD, DataType.pointer(BaseDataType.BOOL), null, null).first shouldBe DataType.pointer(BaseDataType.BOOL)
}
xtest("bitwise operator on signed values") {
test("bitwise operator on signed values") {
val src = """
main {
sub start() {
word[5] xpos
xpos[4] &= ${'$'}fff8 ; TODO fix type error
xpos[4] &= ${'$'}fff8 as word ; TODO fix type error
xpos[4] = xpos[4] & ${'$'}fff8 ; TODO fix type error
xpos[4] = xpos[4] & ${'$'}fff8 as word ; this one works, oddly enough
xpos[4] &= ${'$'}fff8
xpos[4] &= ${'$'}fff8 as word
xpos[4] = xpos[4] & ${'$'}fff8
xpos[4] = xpos[4] & ${'$'}fff8 as word
xpos[4] &= $7000 ; TODO fix type error
xpos[4] &= $7000 as word ; TODO fix type error
xpos[4] = xpos[4] & $7000 ; TODO fix type error
xpos[4] = xpos[4] & $7000 as word ; this one works, oddly enough
xpos[4] &= $7000
xpos[4] &= $7000 as word
xpos[4] = xpos[4] & $7000
xpos[4] = xpos[4] & $7000 as word
xpos[4] |= $7000 ; TODO fix type error
xpos[4] |= $7000 as word ; TODO fix type error
xpos[4] = xpos[4] | $7000 ; TODO fix type error
xpos[4] = xpos[4] | $7000 as word ; this one works, oddly enough
xpos[4] |= $7000
xpos[4] |= $7000 as word
xpos[4] = xpos[4] | $7000
xpos[4] = xpos[4] | $7000 as word
; the error doesn't occur with other operators:
xpos[4] += $7000
xpos[4] += $7000 as word
xpos[4] = xpos[4] + $7000
xpos[4] = xpos[4] + $7000 as word ; this one works, oddly enough
xpos[4] = xpos[4] + $7000 as word
}
}"""