From aeb5658434d8090ec8e5cfc054ba6b13758c4da2 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 11 Nov 2023 16:42:47 +0000 Subject: Extract LlvmBackend.link() --- .../compiler/backends/llvm/LlvmPatioCodeGenTests.java | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) (limited to 'src/test/java') 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 b98152e7..a4c823df 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGenTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGenTests.java @@ -8,7 +8,6 @@ import org.shedlang.compiler.backends.llvm.ir.ast.instructions.LlvmTrunc; import org.shedlang.compiler.backends.llvm.ir.ast.operands.LlvmVariableGlobal; import org.shedlang.compiler.backends.llvm.ir.ast.operands.LlvmVariableLocal; import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes; -import org.shedlang.compiler.filesystem.ShedCompilerFiles; import org.shedlang.compiler.patio.PatioExampleTests; import org.shedlang.compiler.patio.ast.PatioCompilationUnit; import org.shedlang.compiler.testing.ExecutionResult; @@ -17,12 +16,9 @@ import org.shedlang.compiler.testing.TestProcessRunner; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.util.ArrayList; import java.util.List; import java.util.Optional; -import static org.shedlang.compiler.util.processes.ProcessRunner.runInheritIo; - public class LlvmPatioCodeGenTests extends PatioExampleTests { @Override protected ExecutionResult run(PatioCompilationUnit patio) throws IOException, InterruptedException { @@ -59,18 +55,12 @@ public class LlvmPatioCodeGenTests extends PatioExampleTests { var objectFilePath = new LlvmCompiler(workingDirectory).compileLlvmModule(llvmModule, "main"); - var gccArgs = new ArrayList(); - gccArgs.add("gcc"); - - gccArgs.add("-o"); var executablePath = workingDirectory.resolve("main"); - gccArgs.add(executablePath.toString()); - - gccArgs.add(objectFilePath.toString()); - - gccArgs.add(ShedCompilerFiles.getRoot().resolve("runtime/target/amd64/libshed.a").toString()); - runInheritIo(gccArgs); + LlvmBackend.link( + List.of(objectFilePath), + executablePath + ); return TestProcessRunner.runCaptureOutput(List.of(executablePath.toString())); } -- cgit v1.2.3