aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-11-28 22:00:36 +0000
committerMichael Williamson <mike@zwobble.org>2023-11-28 22:00:36 +0000
commite972a949de6605ea1a4dcd79b1d4352d8a5fa06e (patch)
tree59af6ea8e4fa7ba7d4dcb495eec221d68efeaf6e /src/main/java
parent754e22ad446045971ef85b77c707076cc0509e68 (diff)
Discard exception handler after try in LLVM backend
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java6
1 files changed, 6 insertions, 0 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 aa209fb4..9a0b2b75 100644
--- a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java
@@ -738,6 +738,12 @@ public class LlvmPatioCodeGen {
context
);
+ context = context.addInstruction(new LlvmStore(
+ LlvmTypes.pointer(LlvmTypes.VOID),
+ previousExceptionHandler,
+ new LlvmVariableGlobal(EXCEPTION_HANDLER_DECLARATION.name())
+ ));
+
yield context;
}