about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-07-07 18:38:42 -0700
committerBrian Anderson <banderson@mozilla.com>2011-07-08 09:37:00 -0700
commit58d288a4f7dcfac12e1fdf9d13eb594ef3c2b33e (patch)
treebbb2e15296964d159d59f5248deb7178f0fdf453 /src
parent4bfa269fe7ce48c7cd54404b4f74c48e0e7895ea (diff)
downloadrust-58d288a4f7dcfac12e1fdf9d13eb594ef3c2b33e.tar.gz
rust-58d288a4f7dcfac12e1fdf9d13eb594ef3c2b33e.zip
Move used_link_args from session to cstore
Diffstat (limited to 'src')
-rw-r--r--src/comp/driver/rustc.rs4
-rw-r--r--src/comp/driver/session.rs7
-rw-r--r--src/comp/metadata/creader.rs2
-rw-r--r--src/comp/metadata/cstore.rs9
4 files changed, 12 insertions, 10 deletions
diff --git a/src/comp/driver/rustc.rs b/src/comp/driver/rustc.rs
index 27389e98762..bf62ce37d09 100644
--- a/src/comp/driver/rustc.rs
+++ b/src/comp/driver/rustc.rs
@@ -355,7 +355,7 @@ fn build_session(@session::options sopts) -> session::session {
     auto target_cfg = build_target_config();
     auto cstore = cstore::mk_cstore();
     ret session::session(target_cfg, sopts, cstore,
-                         [], codemap::new_codemap(), 0u);
+                         codemap::new_codemap(), 0u);
 }
 
 fn parse_pretty(session::session sess, &str name) -> pp_mode {
@@ -527,7 +527,7 @@ fn main(vec[str] args) {
         gcc_args += ["-l" + libarg];
     }
 
-    gcc_args += sess.get_used_link_args();
+    gcc_args += cstore::get_used_link_args(cstore);
     auto used_libs = cstore::get_used_libraries(cstore);
     for (str l in used_libs) {
         gcc_args += ["-l" + l];
diff --git a/src/comp/driver/session.rs b/src/comp/driver/session.rs
index 8d28f9046ef..9d6aab7f56e 100644
--- a/src/comp/driver/session.rs
+++ b/src/comp/driver/session.rs
@@ -46,7 +46,6 @@ type crate_metadata = rec(str name, vec[u8] data);
 obj session(@config targ_cfg,
             @options opts,
             metadata::cstore::cstore cstore,
-            mutable vec[str] used_link_args,
             codemap::codemap cm,
             mutable uint err_count) {
     fn get_targ_cfg() -> @config { ret targ_cfg; }
@@ -98,12 +97,6 @@ obj session(@config targ_cfg,
         self.span_bug(sp, "unimplemented " + msg);
     }
     fn unimpl(str msg) -> ! { self.bug("unimplemented " + msg); }
-    fn add_used_link_args(&str args) {
-        used_link_args += str::split(args, ' ' as u8);
-    }
-    fn get_used_link_args() -> vec[str] {
-        ret used_link_args;
-    }
     fn get_codemap() -> codemap::codemap { ret cm; }
     fn lookup_pos(uint pos) -> codemap::loc {
         ret codemap::lookup_pos(cm, pos);
diff --git a/src/comp/metadata/creader.rs b/src/comp/metadata/creader.rs
index 6b1512b02cc..5af9688f414 100644
--- a/src/comp/metadata/creader.rs
+++ b/src/comp/metadata/creader.rs
@@ -188,7 +188,7 @@ fn visit_item(env e, &@ast::item i) {
                      attr::find_attrs_by_name(i.attrs, "link_args")) {
                 alt (attr::get_meta_item_value_str(attr::attr_meta(a))) {
                     case (some(?linkarg)) {
-                        e.sess.add_used_link_args(linkarg);
+                        cstore::add_used_link_args(cstore, linkarg);
                     }
                     case (none) { /* fallthrough */ }
                 }
diff --git a/src/comp/metadata/cstore.rs b/src/comp/metadata/cstore.rs
index 270179198aa..dfde3eeed6e 100644
--- a/src/comp/metadata/cstore.rs
+++ b/src/comp/metadata/cstore.rs
@@ -1,5 +1,6 @@
 import std::map;
 import std::vec;
+import std::str;
 
 type crate_metadata = rec(str name, vec[u8] data);
 
@@ -53,6 +54,14 @@ fn get_used_libraries(&cstore cstore) -> vec[str] {
     ret cstore.used_libraries;
 }
 
+fn add_used_link_args(&cstore cstore, &str args) {
+    cstore.used_link_args += str::split(args, ' ' as u8);
+}
+
+fn get_used_link_args(&cstore cstore) -> vec[str] {
+    ret cstore.used_link_args;
+}
+
 // Local Variables:
 // mode: rust
 // fill-column: 78;