diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-18 12:18:18 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-18 12:18:18 +0100 |
| commit | 63188f20bc0b685b63217f829ef6059fb0b71e58 (patch) | |
| tree | 54d90b664d5fb86012e3b5a96e8285143ee72574 /src/main/java | |
| parent | 9e08a99b327c7d704f533e3535b77a1bbdc04919 (diff) | |
Set exit code of produced binaries
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/backends/llvm/LlvmCompiler.java | 7 |
1 files changed, 4 insertions, 3 deletions
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 )); |
