aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/comp/driver/rustc.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/comp/driver/rustc.rs b/src/comp/driver/rustc.rs
index 1a0329c1..4b842bd0 100644
--- a/src/comp/driver/rustc.rs
+++ b/src/comp/driver/rustc.rs
@@ -1,5 +1,20 @@
// -*- rust -*-
+import std._str;
+import lib.llvm.llvm;
+import lib.llvm.builder;
+
+fn write_module() {
+ auto llmod =
+ llvm.LLVMModuleCreateWithNameInContext(_str.buf("rust_out"),
+ llvm.LLVMGetGlobalContext());
+
+ auto b = builder(llvm.LLVMCreateBuilder());
+
+ llvm.LLVMWriteBitcodeToFile(llmod, _str.buf("rust_out.bc"));
+ llvm.LLVMDisposeModule(llmod);
+}
+
fn main(vec[str] args) -> () {
log "This is the rust 'self-hosted' compiler.";
@@ -19,6 +34,8 @@ fn main(vec[str] args) -> () {
i += 1;
}
+ // Test LLVM module-writing. Nothing interesting yet.
+ write_module();
}