From e972a949de6605ea1a4dcd79b1d4352d8a5fa06e Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 28 Nov 2023 22:00:36 +0000 Subject: Discard exception handler after try in LLVM backend --- .../java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java | 6 ++++++ .../org/shedlang/compiler/backends/llvm/LlvmPatioCodeGenTests.java | 6 ------ 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src') 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; } diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGenTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGenTests.java index 3d1aa836..9490966d 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGenTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGenTests.java @@ -73,12 +73,6 @@ public class LlvmPatioCodeGenTests extends PatioExampleTests { } - @Disabled("WIP") - @Test - public void exceptionHandlerIsDiscardedAfterTry() { - - } - @Disabled("WIP") @Test public void thrownValueIsPassedToCatchClause() { -- cgit v1.2.3