aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <[email protected]>2010-12-29 11:21:16 -0500
committerRafael Ávila de Espíndola <[email protected]>2010-12-29 11:21:16 -0500
commit2c6dd18224a926ed0da365511e05fcb8e5e817a5 (patch)
treeb897fadd33635683d36112766e968316897c12f4 /src/comp/middle
parentParse 'import' directives in rustc. (diff)
downloadrust-2c6dd18224a926ed0da365511e05fcb8e5e817a5.tar.xz
rust-2c6dd18224a926ed0da365511e05fcb8e5e817a5.zip
Add a -shared option to rustc and don't try to look for main if it is given.
Diffstat (limited to 'src/comp/middle')
-rw-r--r--src/comp/middle/trans.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs
index 986e965e..2834463f 100644
--- a/src/comp/middle/trans.rs
+++ b/src/comp/middle/trans.rs
@@ -3055,7 +3055,8 @@ fn make_glues(ModuleRef llmod) -> @glue_fns {
no_op_type_glue = make_no_op_type_glue(llmod));
}
-fn trans_crate(session.session sess, @ast.crate crate, str output) {
+fn trans_crate(session.session sess, @ast.crate crate, str output,
+ bool shared) {
auto llmod =
llvm.LLVMModuleCreateWithNameInContext(_str.buf("rust_out"),
llvm.LLVMGetGlobalContext());
@@ -3095,7 +3096,9 @@ fn trans_crate(session.session sess, @ast.crate crate, str output) {
trans_mod(cx, crate.node.module);
trans_exit_task_glue(cx);
- trans_main_fn(cx, crate_constant(cx));
+ if (!shared) {
+ trans_main_fn(cx, crate_constant(cx));
+ }
check_module(llmod);