about summary refs log tree commit diff
path: root/library/stdarch/crates/intrinsic-test/src/common/compile_c.rs
diff options
context:
space:
mode:
authorFolkert de Vries <folkert@folkertdev.nl>2025-07-11 01:26:34 +0200
committerFolkert de Vries <folkert@folkertdev.nl>2025-07-18 13:24:11 +0200
commit846c591bf60c551fc779ab8a489e9d7a74dab446 (patch)
tree789548377ff00a2f8fa5c13a9ee28155a0a6eec5 /library/stdarch/crates/intrinsic-test/src/common/compile_c.rs
parent6ed7ee36e6839036b3e6d8b3a2d2f30310ddbfc6 (diff)
downloadrust-846c591bf60c551fc779ab8a489e9d7a74dab446.tar.gz
rust-846c591bf60c551fc779ab8a489e9d7a74dab446.zip
`intrinsic-test`: combine C files for more efficient compilation
Diffstat (limited to 'library/stdarch/crates/intrinsic-test/src/common/compile_c.rs')
-rw-r--r--library/stdarch/crates/intrinsic-test/src/common/compile_c.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/library/stdarch/crates/intrinsic-test/src/common/compile_c.rs b/library/stdarch/crates/intrinsic-test/src/common/compile_c.rs
index 8e2eb8e0f40..0c905a149e4 100644
--- a/library/stdarch/crates/intrinsic-test/src/common/compile_c.rs
+++ b/library/stdarch/crates/intrinsic-test/src/common/compile_c.rs
@@ -112,11 +112,24 @@ impl CppCompilation {
         &mut self.0
     }
 
-    pub fn run(&self, inputs: &[String], output: &str) -> std::io::Result<std::process::Output> {
+    pub fn compile_object_file(
+        &self,
+        input: &str,
+        output: &str,
+    ) -> std::io::Result<std::process::Output> {
+        let mut cmd = clone_command(&self.0);
+        cmd.args([input, "-c", "-o", output]);
+        cmd.output()
+    }
+
+    pub fn link_executable(
+        &self,
+        inputs: impl Iterator<Item = String>,
+        output: &str,
+    ) -> std::io::Result<std::process::Output> {
         let mut cmd = clone_command(&self.0);
         cmd.args(inputs);
         cmd.args(["-o", output]);
-
         cmd.output()
     }
 }