diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-11-11 16:42:47 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-11-11 16:42:47 +0000 |
| commit | aeb5658434d8090ec8e5cfc054ba6b13758c4da2 (patch) | |
| tree | bb7547d98a174af322c8e93d1f39ec2413458464 /src/test/java | |
| parent | 55fa667e7d303e7f2dcd9a5088fa24b3231e3b33 (diff) | |
Extract LlvmBackend.link()
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGenTests.java | 18 |
1 files changed, 4 insertions, 14 deletions
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<String>(); - 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())); } |
