Skip to content

Commit 4d81137

Browse files
committed
rustc: Add some changes I missed
1 parent 8ffab39 commit 4d81137

File tree

2 files changed

+26
-9
lines changed

2 files changed

+26
-9
lines changed

src/libsyntax/parse/parser.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ import ast::{_mod, add, alt_check, alt_exhaustive, arg, arm, attribute,
2121
class_member, class_method, class_mutable, constr, constr_arg,
2222
constr_general, crate, crate_cfg, crate_directive, decl,
2323
decl_item, decl_local, default_blk, deref, div, expl, expr,
24-
expr_, expr_addr_of, expr_alt, expr_assert, expr_assign,
25-
expr_assign_op, expr_binary, expr_block, expr_break, expr_call,
26-
expr_cast, expr_check, expr_cont, expr_copy, expr_do_body,
24+
expr_, expr_addr_of, expr_alt, expr_again, expr_assert,
25+
expr_assign, expr_assign_op, expr_binary, expr_block, expr_break,
26+
expr_call, expr_cast, expr_check, expr_copy, expr_do_body,
2727
expr_fail, expr_field, expr_fn, expr_fn_block, expr_if,
2828
expr_if_check, expr_index, expr_lit, expr_log, expr_loop,
2929
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,
3232
foreign_item_fn, foreign_mod, ident, impure_fn, infer,
3333
init_assign, init_move, initializer, instance_var, item, item_,
3434
item_class, item_const, item_enum, item_fn, item_foreign_mod,
35-
item_impl, item_mod, item_trait, item_ty, lit, lit_, lit_bool,
36-
lit_float, lit_int, lit_int_unsuffixed, lit_nil, lit_str,
37-
lit_uint, local, m_const, m_imm, m_mutbl, mac_, mac_aq,
35+
item_impl, item_mac, item_mod, item_trait, item_ty, lit, lit_,
36+
lit_bool, lit_float, lit_int, lit_int_unsuffixed, lit_nil,
37+
lit_str, lit_uint, local, m_const, m_imm, m_mutbl, mac_, mac_aq,
3838
mac_ellipsis, mac_embed_block, mac_embed_type, mac_invoc,
3939
mac_invoc_tt, mac_var, matcher, method, mode, mt, mtc_bb,
4040
mtc_rep, mtc_tok, mul, mutability, neg, noreturn, not, pat,

src/rustc/driver/driver.rs

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -168,9 +168,26 @@ fn compile_upto(sess: session, cfg: ast::crate_cfg,
168168
session::sess_os_to_meta_os(sess.targ_cfg.os),
169169
sess.opts.static));
170170

171-
let { def_map: def_map, exp_map: exp_map, impl_map: impl_map } =
172-
time(time_passes, "fast resolution", ||
173-
middle::resolve3::resolve_crate(sess, ast_map, crate));
171+
let mut def_map;
172+
let mut impl_map;
173+
let mut exp_map;
174+
if sess.fast_resolve() {
175+
let { def_map: fast_dm, exp_map: fast_em, impl_map: fast_im } =
176+
time(time_passes, "fast resolution", ||
177+
middle::resolve3::resolve_crate(sess, ast_map, crate));
178+
179+
def_map = fast_dm;
180+
impl_map = fast_im;
181+
exp_map = fast_em;
182+
} else {
183+
let { def_map: normal_dm, exp_map: normal_em, impl_map: normal_im } =
184+
time(time_passes, "resolution", ||
185+
resolve::resolve_crate(sess, ast_map, crate));
186+
187+
def_map = normal_dm;
188+
impl_map = normal_im;
189+
exp_map = normal_em;
190+
}
174191

175192
let freevars = time(time_passes, "freevar finding", ||
176193
freevars::annotate_freevars(def_map, crate));

0 commit comments

Comments
 (0)