aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-12-03 11:52:42 +0000
committerMichael Williamson <mike@zwobble.org>2023-12-03 11:52:42 +0000
commite377342aaa8ba5df33ce98fe318ce9cc08a73488 (patch)
tree2a9b3f0b5d8ec9407f9d1ee7f67dba85b76a268a /src/main/java
parent96ac268ff5f1ae25915c19f4d7810dbdccb4dc60 (diff)
Add code gen for return-void
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java2
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java5
2 files changed, 3 insertions, 4 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java
index 2129ebc6..e852ab98 100644
--- a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java
@@ -555,7 +555,7 @@ public class LlvmPatioCodeGen {
));
case PatioReturnVoid patioReturnVoid ->
- throw new UnsupportedOperationException("TODO");
+ context.addTerminatorInstruction(new LlvmReturnVoid());
case PatioSwitch patioSwitch -> {
var switchDefaultStartLabelResult = context.allocateLocalName(
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java b/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java
index f83aa2d3..8d9e4453 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java
@@ -321,9 +321,8 @@ public class WasmPatioCodeGen {
yield context;
}
- case PatioReturnVoid patioReturnVoid -> {
- throw new UnsupportedOperationException("TODO");
- }
+ case PatioReturnVoid patioReturnVoid ->
+ context.addInstruction(new WasmReturn());
case PatioSwitch patioSwitch -> {
// TODO: use br_table?