Skip to content

Commit 38f88e7

Browse files
committed
---
yaml --- r: 49084 b: refs/heads/snap-stage3 c: b93393e h: refs/heads/master v: v3
1 parent 5d8554d commit 38f88e7

File tree

26 files changed

+319
-821
lines changed

26 files changed

+319
-821
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: 3bbcac322669cff3abde5be937cc4ec3860f3985
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: c317d3f6fa9475e65b6276743c09444441059ca7
4+
refs/heads/snap-stage3: b93393e907eddab513fa2be541af4356b8203282
55
refs/heads/try: 2a8fb58d79e685d5ca07b039badcf2ae3ef077ea
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/src/librustc/middle/astencode.rs

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -681,7 +681,6 @@ impl vtable_decoder_helpers for reader::Decoder {
681681
@self.read_to_vec(|| self.read_vtable_origin(xcx) )
682682
}
683683
684-
#[cfg(stage0)]
685684
fn read_vtable_origin(&self, xcx: @ExtendedDecodeContext)
686685
-> typeck::vtable_origin {
687686
do self.read_enum(~"vtable_origin") {
@@ -716,44 +715,6 @@ impl vtable_decoder_helpers for reader::Decoder {
716715
}
717716
}
718717
}
719-
720-
#[cfg(stage1)]
721-
#[cfg(stage2)]
722-
#[cfg(stage3)]
723-
fn read_vtable_origin(&self, xcx: @ExtendedDecodeContext)
724-
-> typeck::vtable_origin {
725-
do self.read_enum("vtable_origin") {
726-
do self.read_enum_variant(["vtable_static", "vtable_param"]) |i| {
727-
match i {
728-
0 => {
729-
typeck::vtable_static(
730-
do self.read_enum_variant_arg(0u) {
731-
self.read_def_id(xcx)
732-
},
733-
do self.read_enum_variant_arg(1u) {
734-
self.read_tys(xcx)
735-
},
736-
do self.read_enum_variant_arg(2u) {
737-
self.read_vtable_res(xcx)
738-
}
739-
)
740-
}
741-
1 => {
742-
typeck::vtable_param(
743-
do self.read_enum_variant_arg(0u) {
744-
self.read_uint()
745-
},
746-
do self.read_enum_variant_arg(1u) {
747-
self.read_uint()
748-
}
749-
)
750-
}
751-
// hard to avoid - user input
752-
_ => fail!(~"bad enum variant")
753-
}
754-
}
755-
}
756-
}
757718
}
758719
759720
// ______________________________________________________________________

branches/snap-stage3/src/librustc/middle/check_const.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ pub fn check_expr(sess: Session,
156156
expr_paren(e) => { check_expr(sess, def_map, method_map,
157157
tcx, e, is_const, v); }
158158
expr_vstore(_, expr_vstore_slice) |
159+
expr_vstore(_, expr_vstore_fixed(_)) |
159160
expr_vec(_, m_imm) |
160161
expr_addr_of(m_imm, _) |
161162
expr_field(*) |

branches/snap-stage3/src/librustc/middle/const_eval.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ pub fn classify(e: @expr,
110110

111111
ast::expr_vstore(e, vstore) => {
112112
match vstore {
113+
ast::expr_vstore_fixed(_) |
113114
ast::expr_vstore_slice => classify(e, tcx),
114115
ast::expr_vstore_uniq |
115116
ast::expr_vstore_box |

branches/snap-stage3/src/librustc/middle/liveness.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1335,7 +1335,7 @@ pub impl Liveness {
13351335
self.propagate_through_expr(l, ln)
13361336
}
13371337

1338-
expr_log(l, r) |
1338+
expr_log(_, l, r) |
13391339
expr_index(l, r) |
13401340
expr_binary(_, l, r) => {
13411341
self.propagate_through_exprs(~[l, r], succ)

branches/snap-stage3/src/librustc/middle/moves.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,7 @@ pub impl VisitContext {
567567
self.consume_block(blk, visitor);
568568
}
569569

570-
expr_log(a_expr, b_expr) => {
570+
expr_log(_, a_expr, b_expr) => {
571571
self.consume_expr(a_expr, visitor);
572572
self.use_expr(b_expr, Read, visitor);
573573
}

branches/snap-stage3/src/librustc/middle/trans/consts.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -466,6 +466,9 @@ fn const_expr_unadjusted(cx: @CrateContext, e: @ast::expr) -> ValueRef {
466466
let (v, _, _) = const_vec(cx, e, *es);
467467
v
468468
}
469+
ast::expr_vstore(e, ast::expr_vstore_fixed(_)) => {
470+
const_expr(cx, e)
471+
}
469472
ast::expr_vstore(sub, ast::expr_vstore_slice) => {
470473
match sub.node {
471474
ast::expr_lit(ref lit) => {

branches/snap-stage3/src/librustc/middle/trans/expr.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,7 @@ fn trans_rvalue_stmt_unadjusted(bcx: block, expr: @ast::expr) -> block {
507507
ast::expr_ret(ex) => {
508508
return controlflow::trans_ret(bcx, ex);
509509
}
510-
ast::expr_log(lvl, a) => {
510+
ast::expr_log(_, lvl, a) => {
511511
return controlflow::trans_log(expr, lvl, bcx, a);
512512
}
513513
ast::expr_while(cond, ref body) => {
@@ -714,6 +714,9 @@ fn trans_rvalue_dps_unadjusted(bcx: block, expr: @ast::expr,
714714
ast::expr_vstore(contents, ast::expr_vstore_mut_slice) => {
715715
return tvec::trans_slice_vstore(bcx, expr, contents, dest);
716716
}
717+
ast::expr_vstore(contents, ast::expr_vstore_fixed(_)) => {
718+
return tvec::trans_fixed_vstore(bcx, expr, contents, dest);
719+
}
717720
ast::expr_vec(*) | ast::expr_repeat(*) => {
718721
return tvec::trans_fixed_vstore(bcx, expr, expr, dest);
719722
}

branches/snap-stage3/src/librustc/middle/trans/type_use.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ pub fn mark_for_expr(cx: Context, e: @expr) {
329329
type_needs(cx, use_repr, ty::type_autoderef(cx.ccx.tcx, base_ty));
330330
mark_for_method_call(cx, e.id, e.callee_id);
331331
}
332-
expr_log(_, val) => {
332+
expr_log(_, _, val) => {
333333
node_type_needs(cx, use_tydesc, val.id);
334334
}
335335
expr_call(f, _, _) => {

branches/snap-stage3/src/librustc/middle/ty.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3117,6 +3117,7 @@ pub fn expr_kind(tcx: ctxt,
31173117
ast::expr_lit(@codemap::spanned {node: lit_str(_), _}) |
31183118
ast::expr_vstore(_, ast::expr_vstore_slice) |
31193119
ast::expr_vstore(_, ast::expr_vstore_mut_slice) |
3120+
ast::expr_vstore(_, ast::expr_vstore_fixed(_)) |
31203121
ast::expr_vec(*) => {
31213122
RvalueDpsExpr
31223123
}

branches/snap-stage3/src/librustc/middle/typeck/check/mod.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2402,7 +2402,7 @@ pub fn check_expr_with_unifier(fcx: @mut FnCtxt,
24022402
}
24032403
fcx.write_bot(id);
24042404
}
2405-
ast::expr_log(lv, e) => {
2405+
ast::expr_log(_, lv, e) => {
24062406
check_expr_has_type(fcx, lv,
24072407
ty::mk_mach_uint(tcx, ast::ty_u32));
24082408

@@ -3337,6 +3337,14 @@ pub fn ast_expr_vstore_to_vstore(fcx: @mut FnCtxt,
33373337
v: ast::expr_vstore)
33383338
-> ty::vstore {
33393339
match v {
3340+
ast::expr_vstore_fixed(None) => ty::vstore_fixed(n),
3341+
ast::expr_vstore_fixed(Some(u)) => {
3342+
if n != u {
3343+
let s = fmt!("fixed-size sequence mismatch: %u vs. %u",u, n);
3344+
fcx.ccx.tcx.sess.span_err(e.span,s);
3345+
}
3346+
ty::vstore_fixed(u)
3347+
}
33403348
ast::expr_vstore_uniq => ty::vstore_uniq,
33413349
ast::expr_vstore_box | ast::expr_vstore_mut_box => ty::vstore_box,
33423350
ast::expr_vstore_slice | ast::expr_vstore_mut_slice => {

branches/snap-stage3/src/libstd/ebml.rs

Lines changed: 2 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,6 @@ pub mod reader {
337337
self.push_doc(self.next_doc(EsEnum), f)
338338
}
339339
340-
#[cfg(stage0)]
341340
fn read_enum_variant<T>(&self, f: &fn(uint) -> T) -> T {
342341
debug!("read_enum_variant()");
343342
let idx = self._next_uint(EsEnumVid);
@@ -347,18 +346,6 @@ pub mod reader {
347346
}
348347
}
349348
350-
#[cfg(stage1)]
351-
#[cfg(stage2)]
352-
#[cfg(stage3)]
353-
fn read_enum_variant<T>(&self, _names: &[&str], f: &fn(uint) -> T) -> T {
354-
debug!("read_enum_variant()");
355-
let idx = self._next_uint(EsEnumVid);
356-
debug!(" idx=%u", idx);
357-
do self.push_doc(self.next_doc(EsEnumBody)) {
358-
f(idx)
359-
}
360-
}
361-
362349
fn read_enum_variant_arg<T>(&self, idx: uint, f: &fn() -> T) -> T {
363350
debug!("read_enum_variant_arg(idx=%u)", idx);
364351
f()
@@ -412,37 +399,8 @@ pub mod reader {
412399
debug!("read_tup_elt(idx=%u)", idx);
413400
f()
414401
}
415-
416-
#[cfg(stage0)]
417-
fn read_option<T>(&self, f: &fn() -> T) -> Option<T> {
418-
debug!("read_option()");
419-
do self.read_enum("Option") || {
420-
do self.read_enum_variant |idx| {
421-
match idx {
422-
0 => None,
423-
1 => Some(f()),
424-
_ => fail!(),
425-
}
426-
}
427-
}
428-
}
429-
430-
#[cfg(stage1)]
431-
#[cfg(stage2)]
432-
#[cfg(stage3)]
433-
fn read_option<T>(&self, f: &fn() -> T) -> Option<T> {
434-
debug!("read_option()");
435-
do self.read_enum("Option") || {
436-
do self.read_enum_variant(["None", "Some"]) |idx| {
437-
match idx {
438-
0 => None,
439-
1 => Some(f()),
440-
_ => fail!(),
441-
}
442-
}
443-
}
444-
}
445402
}
403+
446404
}
447405
448406
pub mod writer {
@@ -708,19 +666,9 @@ pub mod writer {
708666
709667
fn emit_tup(&self, _len: uint, f: &fn()) { f() }
710668
fn emit_tup_elt(&self, _idx: uint, f: &fn()) { f() }
711-
712-
fn emit_option(&self, f: &fn()) {
713-
self.emit_enum("Option", f);
714-
}
715-
fn emit_option_none(&self) {
716-
self.emit_enum_variant("None", 0, 0, || ())
717-
}
718-
fn emit_option_some(&self, f: &fn()) {
719-
self.emit_enum_variant("Some", 1, 1, f)
720-
}
721669
}
722-
}
723670
671+
}
724672
// ___________________________________________________________________________
725673
// Testing
726674

0 commit comments

Comments
 (0)