ir: ignore empty chunks instead of crashing

This commit is contained in:
Irmen de Jong
2023-12-01 22:49:20 +01:00
parent 36bfef567d
commit 172e78e8f2
3 changed files with 11 additions and 25 deletions
@@ -283,15 +283,10 @@ class IRCodeGen(
else -> TODO("missing codegen for $node")
}
chunks.forEach { chunk ->
require(chunk.isNotEmpty() || chunk.label != null) {
"chunk should have instructions and/or a label"
}
}
val nonEmptyChunks = chunks.filter { it.isNotEmpty() || it.label != null }
nonEmptyChunks.filterIsInstance<IRCodeChunk>().firstOrNull()?.appendSrcPosition(node.position)
chunks.filterIsInstance<IRCodeChunk>().firstOrNull()?.appendSrcPosition(node.position)
return chunks
return nonEmptyChunks
}
private fun readBinaryData(node: PtIncludeBinary): Collection<UByte> {