rustc: Add some changes I missed

This commit is contained in:
Patrick Walton 2012-07-09 11:04:24 -07:00
parent 8ffab392ab
commit 4d8113725d
2 changed files with 26 additions and 9 deletions

View file

@ -21,9 +21,9 @@ import ast::{_mod, add, alt_check, alt_exhaustive, arg, arm, attribute,
class_member, class_method, class_mutable, constr, constr_arg, class_member, class_method, class_mutable, constr, constr_arg,
constr_general, crate, crate_cfg, crate_directive, decl, constr_general, crate, crate_cfg, crate_directive, decl,
decl_item, decl_local, default_blk, deref, div, expl, expr, decl_item, decl_local, default_blk, deref, div, expl, expr,
expr_, expr_addr_of, expr_alt, expr_assert, expr_assign, expr_, expr_addr_of, expr_alt, expr_again, expr_assert,
expr_assign_op, expr_binary, expr_block, expr_break, expr_call, expr_assign, expr_assign_op, expr_binary, expr_block, expr_break,
expr_cast, expr_check, expr_cont, expr_copy, expr_do_body, expr_call, expr_cast, expr_check, expr_copy, expr_do_body,
expr_fail, expr_field, expr_fn, expr_fn_block, expr_if, expr_fail, expr_field, expr_fn, expr_fn_block, expr_if,
expr_if_check, expr_index, expr_lit, expr_log, expr_loop, expr_if_check, expr_index, expr_lit, expr_log, expr_loop,
expr_loop_body, expr_mac, expr_move, expr_new, expr_path, expr_loop_body, expr_mac, expr_move, expr_new, expr_path,
@ -32,9 +32,9 @@ import ast::{_mod, add, alt_check, alt_exhaustive, arg, arm, attribute,
foreign_item_fn, foreign_mod, ident, impure_fn, infer, foreign_item_fn, foreign_mod, ident, impure_fn, infer,
init_assign, init_move, initializer, instance_var, item, item_, init_assign, init_move, initializer, instance_var, item, item_,
item_class, item_const, item_enum, item_fn, item_foreign_mod, item_class, item_const, item_enum, item_fn, item_foreign_mod,
item_impl, item_mod, item_trait, item_ty, lit, lit_, lit_bool, item_impl, item_mac, item_mod, item_trait, item_ty, lit, lit_,
lit_float, lit_int, lit_int_unsuffixed, lit_nil, lit_str, lit_bool, lit_float, lit_int, lit_int_unsuffixed, lit_nil,
lit_uint, local, m_const, m_imm, m_mutbl, mac_, mac_aq, lit_str, lit_uint, local, m_const, m_imm, m_mutbl, mac_, mac_aq,
mac_ellipsis, mac_embed_block, mac_embed_type, mac_invoc, mac_ellipsis, mac_embed_block, mac_embed_type, mac_invoc,
mac_invoc_tt, mac_var, matcher, method, mode, mt, mtc_bb, mac_invoc_tt, mac_var, matcher, method, mode, mt, mtc_bb,
mtc_rep, mtc_tok, mul, mutability, neg, noreturn, not, pat, mtc_rep, mtc_tok, mul, mutability, neg, noreturn, not, pat,

View file

@ -168,10 +168,27 @@ fn compile_upto(sess: session, cfg: ast::crate_cfg,
session::sess_os_to_meta_os(sess.targ_cfg.os), session::sess_os_to_meta_os(sess.targ_cfg.os),
sess.opts.static)); sess.opts.static));
let { def_map: def_map, exp_map: exp_map, impl_map: impl_map } = let mut def_map;
let mut impl_map;
let mut exp_map;
if sess.fast_resolve() {
let { def_map: fast_dm, exp_map: fast_em, impl_map: fast_im } =
time(time_passes, "fast resolution", || time(time_passes, "fast resolution", ||
middle::resolve3::resolve_crate(sess, ast_map, crate)); middle::resolve3::resolve_crate(sess, ast_map, crate));
def_map = fast_dm;
impl_map = fast_im;
exp_map = fast_em;
} else {
let { def_map: normal_dm, exp_map: normal_em, impl_map: normal_im } =
time(time_passes, "resolution", ||
resolve::resolve_crate(sess, ast_map, crate));
def_map = normal_dm;
impl_map = normal_im;
exp_map = normal_em;
}
let freevars = time(time_passes, "freevar finding", || let freevars = time(time_passes, "freevar finding", ||
freevars::annotate_freevars(def_map, crate)); freevars::annotate_freevars(def_map, crate));