diff options
| author | Luqman Aden <laden@csclub.uwaterloo.ca> | 2013-09-18 04:58:52 -0400 |
|---|---|---|
| committer | Luqman Aden <laden@csclub.uwaterloo.ca> | 2013-09-18 16:51:27 -0400 |
| commit | 9621156fc3814edaef6acafc06827e5aa87c9bdd (patch) | |
| tree | 9acfbcc61bc1bf5e51d9391c72eab32825c41b0b /src/libstd/rt/crate_map.rs | |
| parent | d2b0b11aebfe3167bf41f7c6c31cf7b1e396efe7 (diff) | |
librustc/libstd: No longer pass crate_map to start.
Diffstat (limited to 'src/libstd/rt/crate_map.rs')
| -rw-r--r-- | src/libstd/rt/crate_map.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/libstd/rt/crate_map.rs b/src/libstd/rt/crate_map.rs index 270b5e5b137..ee89df2bd96 100644 --- a/src/libstd/rt/crate_map.rs +++ b/src/libstd/rt/crate_map.rs @@ -16,7 +16,13 @@ use vec; use hashmap::HashSet; use container::MutableSet; -pub struct ModEntry{ +extern { + #[cfg(not(stage0))] + #[crate_map] + static CRATE_MAP: CrateMap; +} + +pub struct ModEntry { name: *c_char, log_level: *mut u32 } @@ -34,6 +40,11 @@ struct CrateMap { children: [*CrateMap, ..1] } +#[cfg(not(stage0))] +pub fn get_crate_map() -> *CrateMap { + &'static CRATE_MAP as *CrateMap +} + unsafe fn version(crate_map: *CrateMap) -> i32 { match (*crate_map).version { 1 => return 1, |
