From 812b4db4e97e9554ff63e3f2c5e4b6e88633b219 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 21 Dec 2023 16:16:44 +0000 Subject: Avoid silently dropping instructions when generating LLVM code --- .../compiler/backends/llvm/codegen/PatioToLlvmFunctionContext.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/main/java') diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmFunctionContext.java b/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmFunctionContext.java index 18e46e3c..c27beec6 100644 --- a/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmFunctionContext.java +++ b/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmFunctionContext.java @@ -69,7 +69,9 @@ class PatioToLlvmFunctionContext { } PatioToLlvmModuleContext.Result> toBasicBlocks() { - // TODO: check there are no instructions without a terminator. + if (!this.instructions.isEmpty()) { + throw new IllegalStateException("basic block is missing terminator instruction"); + } return this.moduleContext.toResult(this.basicBlocks); } -- cgit v1.2.3