From 63188f20bc0b685b63217f829ef6059fb0b71e58 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 18 Jun 2023 12:18:18 +0100 Subject: Set exit code of produced binaries --- .../java/org/shedlang/compiler/backends/llvm/LlvmCompiler.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCompiler.java b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCompiler.java index b3100c65..143cdd79 100644 --- a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCompiler.java +++ b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCompiler.java @@ -4,7 +4,6 @@ import org.shedlang.compiler.ast.typed.FreeVariables; import org.shedlang.compiler.backends.llvm.ir.ast.*; import org.shedlang.compiler.backends.llvm.ir.ast.instructions.LlvmCall; import org.shedlang.compiler.backends.llvm.ir.ast.instructions.LlvmReturn; -import org.shedlang.compiler.backends.llvm.ir.ast.instructions.LlvmReturnVoid; import org.shedlang.compiler.backends.llvm.ir.ast.operands.LlvmOperand; import org.shedlang.compiler.backends.llvm.ir.ast.operands.LlvmOperandInt; import org.shedlang.compiler.backends.llvm.ir.ast.operands.LlvmOperandPtrToInt; @@ -57,7 +56,9 @@ public class LlvmCompiler { mainContext = LlvmCompilerClosures.call(field, mainContext, List.of()); - mainContext = mainContext.addTerminatorInstruction(new LlvmReturnVoid()); + mainContext = mainContext.addTerminatorInstruction( + new LlvmReturn(LlvmTypes.INT_32, new LlvmOperandInt(0)) + ); var mainBasicBlocksResult = context.exitFunction(mainContext); var mainBasicBlocks = mainBasicBlocksResult.value(); @@ -65,7 +66,7 @@ public class LlvmCompiler { context = context.addTopLevelEntity(new LlvmFunctionDefinition( "main", - LlvmTypes.VOID, + LlvmTypes.INT_32, List.of(), mainBasicBlocks )); -- cgit v1.2.3