Skip to content

Commit 0f49928

Browse files
committed
rustc: Break metadata's dependency on link
1 parent f08fe56 commit 0f49928

File tree

5 files changed

+13
-13
lines changed

5 files changed

+13
-13
lines changed

src/rustc/back/link.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -286,10 +286,8 @@ mod write {
286286
*
287287
*/
288288

289-
type link_meta = {name: str, vers: str, extras_hash: str};
290-
291289
fn build_link_meta(sess: session, c: ast::crate, output: str,
292-
sha: sha1) -> link_meta {
290+
sha: sha1) -> encoder::link_meta {
293291

294292
type provided_metas =
295293
{name: option<str>,
@@ -412,8 +410,8 @@ fn truncated_sha1_result(sha: sha1) -> str unsafe {
412410

413411

414412
// This calculates STH for a symbol, as defined above
415-
fn symbol_hash(tcx: ty::ctxt, sha: sha1, t: ty::t, link_meta: link_meta) ->
416-
str {
413+
fn symbol_hash(tcx: ty::ctxt, sha: sha1, t: ty::t,
414+
link_meta: encoder::link_meta) -> str {
417415
// NB: do *not* use abbrevs here as we want the symbol names
418416
// to be independent of one another in the crate.
419417

@@ -526,7 +524,7 @@ fn mangle_internal_name_by_seq(ccx: @crate_ctxt, flav: str) -> str {
526524
fn link_binary(sess: session,
527525
obj_filename: str,
528526
out_filename: str,
529-
lm: link_meta) {
527+
lm: encoder::link_meta) {
530528
// Converts a library file name into a cc -l argument
531529
fn unlib(config: @session::config, filename: str) -> str unsafe {
532530
let rmlib = fn@(filename: str) -> str {

src/rustc/metadata.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ mod front {
1515
}
1616

1717
mod back {
18-
import link = back_::link;
19-
export link;
2018
}
2119

2220
mod driver {

src/rustc/metadata/encoder.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import middle::resolve;
2121
import syntax::ast;
2222
import driver::session::session;
2323

24+
export link_meta;
2425
export encode_parms;
2526
export encode_metadata;
2627
export encoded_ty;
@@ -33,6 +34,9 @@ export encode_ctxt;
3334
export write_type;
3435
export encode_def_id;
3536

37+
// FIXME: This probably belongs somewhere else
38+
type link_meta = {name: str, vers: str, extras_hash: str};
39+
3640
type abbrev_map = map::hashmap<ty::t, tyencode::ty_abbrev>;
3741

3842
type encode_inlined_item = fn@(ecx: @encode_ctxt,
@@ -47,7 +51,7 @@ type encode_parms = {
4751
impl_map: resolve::impl_map,
4852
item_symbols: hashmap<ast::node_id, str>,
4953
discrim_symbols: hashmap<ast::node_id, str>,
50-
link_meta: back::link::link_meta,
54+
link_meta: link_meta,
5155
cstore: cstore::cstore,
5256
encode_inlined_item: encode_inlined_item
5357
};
@@ -59,7 +63,7 @@ enum encode_ctxt = {
5963
impl_map: resolve::impl_map,
6064
item_symbols: hashmap<ast::node_id, str>,
6165
discrim_symbols: hashmap<ast::node_id, str>,
62-
link_meta: back::link::link_meta,
66+
link_meta: link_meta,
6367
cstore: cstore::cstore,
6468
encode_inlined_item: encode_inlined_item,
6569
type_abbrevs: abbrev_map

src/rustc/middle/trans/base.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4950,7 +4950,7 @@ fn create_module_map(ccx: @crate_ctxt) -> ValueRef {
49504950
}
49514951

49524952

4953-
fn decl_crate_map(sess: session::session, mapmeta: link::link_meta,
4953+
fn decl_crate_map(sess: session::session, mapmeta: encoder::link_meta,
49544954
llmod: ModuleRef) -> ValueRef {
49554955
let targ_cfg = sess.targ_cfg;
49564956
let int_type = T_int(targ_cfg);
@@ -5043,7 +5043,7 @@ fn write_abi_version(ccx: @crate_ctxt) {
50435043
fn trans_crate(sess: session::session, crate: @ast::crate, tcx: ty::ctxt,
50445044
output: str, emap: resolve::exp_map,
50455045
maps: astencode::maps)
5046-
-> (ModuleRef, link::link_meta) {
5046+
-> (ModuleRef, encoder::link_meta) {
50475047
let sha = std::sha1::sha1();
50485048
let link_meta = link::build_link_meta(sess, *crate, output, sha);
50495049
let reachable = reachable::find_reachable(crate.node.module, emap, tcx,

src/rustc/middle/trans/common.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ type crate_ctxt = {
7777
reachable: reachable::map,
7878
item_symbols: hashmap<ast::node_id, str>,
7979
mut main_fn: option<ValueRef>,
80-
link_meta: link::link_meta,
80+
link_meta: encoder::link_meta,
8181
enum_sizes: hashmap<ty::t, uint>,
8282
discrims: hashmap<ast::def_id, ValueRef>,
8383
discrim_symbols: hashmap<ast::node_id, str>,

0 commit comments

Comments
 (0)