about summary refs log tree commit diff
path: root/src/comp/driver
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-07-07 18:00:16 -0700
committerBrian Anderson <banderson@mozilla.com>2011-07-08 09:37:00 -0700
commitb23ecd47ceb7468d5132b9bf81d1d9c4e3fd1084 (patch)
tree79491342bc8070b2f54a8e43173c4ea5d4edd95d /src/comp/driver
parentc7bfef43c8c9eed4ff39f2e68b5a224d19876439 (diff)
downloadrust-b23ecd47ceb7468d5132b9bf81d1d9c4e3fd1084.tar.gz
rust-b23ecd47ceb7468d5132b9bf81d1d9c4e3fd1084.zip
Introduce metadata::cstore
I intend for this to be the location for storing all the data retrieved by
creader, most of which is currently in the session.
Diffstat (limited to 'src/comp/driver')
-rw-r--r--src/comp/driver/rustc.rs3
-rw-r--r--src/comp/driver/session.rs2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/comp/driver/rustc.rs b/src/comp/driver/rustc.rs
index db9d858db04..4c6615f11b3 100644
--- a/src/comp/driver/rustc.rs
+++ b/src/comp/driver/rustc.rs
@@ -352,8 +352,9 @@ fn build_session_options(str binary, getopts::match match, str binary_dir) ->
 
 fn build_session(@session::options sopts) -> session::session {
     auto target_cfg = build_target_config();
+    auto cstore = metadata::cstore::mk_cstore();
     auto crate_cache = std::map::new_int_hash[session::crate_metadata]();
-    ret session::session(target_cfg, sopts, crate_cache, [],
+    ret session::session(target_cfg, sopts, cstore, crate_cache, [],
                          [], [], codemap::new_codemap(), 0u);
 }
 
diff --git a/src/comp/driver/session.rs b/src/comp/driver/session.rs
index f4022d4de6a..d0112704e24 100644
--- a/src/comp/driver/session.rs
+++ b/src/comp/driver/session.rs
@@ -45,6 +45,7 @@ type crate_metadata = rec(str name, vec[u8] data);
 
 obj session(@config targ_cfg,
             @options opts,
+            metadata::cstore::cstore cstore,
             map::hashmap[int, crate_metadata] crates,
             mutable vec[str] used_crate_files,
             mutable vec[str] used_libraries,
@@ -53,6 +54,7 @@ obj session(@config targ_cfg,
             mutable uint err_count) {
     fn get_targ_cfg() -> @config { ret targ_cfg; }
     fn get_opts() -> @options { ret opts; }
+    fn get_cstore() -> metadata::cstore::cstore { cstore }
     fn span_fatal(span sp, str msg) -> ! {
         // FIXME: Use constants, but rustboot doesn't know how to export them.
         codemap::emit_error(some(sp), msg, cm);