Skip to content

Commit 4447124

Browse files
committed
---
yaml --- r: 54399 b: refs/heads/snap-stage3 c: bda4dd3 h: refs/heads/master i: 54397: f3d9de9 54395: 8bc76e8 54391: d0c8e14 54383: a36d94b 54367: 6be4a9a 54335: f602f6e 54271: 76ff768 v: v3
1 parent d38bc19 commit 4447124

File tree

7 files changed

+93
-9
lines changed

7 files changed

+93
-9
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: 5f13e9ccc2e3328d4cd8ca49f84e6840dd998346
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: 518c295a03c5422aec26ac067307c32d11a92e66
4+
refs/heads/snap-stage3: bda4dd3c911ba54e342de2ff1b59e371442e58dd
55
refs/heads/try: 8eb2bab100b42f0ba751552d8eff00eb2134c55a
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/configure

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -881,6 +881,10 @@ do
881881
;;
882882
esac
883883
need_ok "LLVM configure failed"
884+
885+
# Hack the tools Makefile to turn off the clang build
886+
sed -i 's/clang//g' tools/Makefile
887+
884888
cd $CFG_BUILD_DIR
885889
fi
886890

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

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -681,6 +681,45 @@ impl vtable_decoder_helpers for reader::Decoder {
681681
@self.read_to_vec(|| self.read_vtable_origin(xcx) )
682682
}
683683
684+
#[cfg(stage0)]
685+
fn read_vtable_origin(&self, xcx: @ExtendedDecodeContext)
686+
-> typeck::vtable_origin {
687+
do self.read_enum(~"vtable_origin") {
688+
do self.read_enum_variant |i| {
689+
match i {
690+
0 => {
691+
typeck::vtable_static(
692+
do self.read_enum_variant_arg(0u) {
693+
self.read_def_id(xcx)
694+
},
695+
do self.read_enum_variant_arg(1u) {
696+
self.read_tys(xcx)
697+
},
698+
do self.read_enum_variant_arg(2u) {
699+
self.read_vtable_res(xcx)
700+
}
701+
)
702+
}
703+
1 => {
704+
typeck::vtable_param(
705+
do self.read_enum_variant_arg(0u) {
706+
self.read_uint()
707+
},
708+
do self.read_enum_variant_arg(1u) {
709+
self.read_uint()
710+
}
711+
)
712+
}
713+
// hard to avoid - user input
714+
_ => fail!(~"bad enum variant")
715+
}
716+
}
717+
}
718+
}
719+
720+
#[cfg(stage1)]
721+
#[cfg(stage2)]
722+
#[cfg(stage3)]
684723
fn read_vtable_origin(&self, xcx: @ExtendedDecodeContext)
685724
-> typeck::vtable_origin {
686725
do self.read_enum("vtable_origin") {

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

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,19 @@ pub mod reader {
334334
self.push_doc(self.next_doc(EsEnum), f)
335335
}
336336
337+
#[cfg(stage0)]
338+
fn read_enum_variant<T>(&self, f: &fn(uint) -> T) -> T {
339+
debug!("read_enum_variant()");
340+
let idx = self._next_uint(EsEnumVid);
341+
debug!(" idx=%u", idx);
342+
do self.push_doc(self.next_doc(EsEnumBody)) {
343+
f(idx)
344+
}
345+
}
346+
347+
#[cfg(stage1)]
348+
#[cfg(stage2)]
349+
#[cfg(stage3)]
337350
fn read_enum_variant<T>(&self, _names: &[&str], f: &fn(uint) -> T) -> T {
338351
debug!("read_enum_variant()");
339352
let idx = self._next_uint(EsEnumVid);
@@ -397,6 +410,23 @@ pub mod reader {
397410
f()
398411
}
399412
413+
#[cfg(stage0)]
414+
fn read_option<T>(&self, f: &fn(bool) -> T) -> T {
415+
debug!("read_option()");
416+
do self.read_enum("Option") || {
417+
do self.read_enum_variant |idx| {
418+
match idx {
419+
0 => f(false),
420+
1 => f(true),
421+
_ => fail!(),
422+
}
423+
}
424+
}
425+
}
426+
427+
#[cfg(stage1)]
428+
#[cfg(stage2)]
429+
#[cfg(stage3)]
400430
fn read_option<T>(&self, f: &fn(bool) -> T) -> T {
401431
debug!("read_option()");
402432
do self.read_enum("Option") || {

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -854,6 +854,19 @@ impl<'self> serialize::Decoder for Decoder<'self> {
854854
f()
855855
}
856856
857+
#[cfg(stage0)]
858+
fn read_enum_variant<T>(&self, f: &fn(uint) -> T) -> T {
859+
debug!("read_enum_variant()");
860+
let idx = match *self.peek() {
861+
Null => 0,
862+
_ => 1,
863+
};
864+
f(idx)
865+
}
866+
867+
#[cfg(stage1)]
868+
#[cfg(stage2)]
869+
#[cfg(stage3)]
857870
fn read_enum_variant<T>(&self, names: &[&str], f: &fn(uint) -> T) -> T {
858871
debug!("read_enum_variant(names=%?)", names);
859872
let name = match *self.peek() {

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,12 @@ pub trait Decoder {
9393
// Compound types:
9494
fn read_enum<T>(&self, name: &str, f: &fn() -> T) -> T;
9595

96+
#[cfg(stage0)]
97+
fn read_enum_variant<T>(&self, f: &fn(uint) -> T) -> T;
98+
99+
#[cfg(stage1)]
100+
#[cfg(stage2)]
101+
#[cfg(stage3)]
96102
fn read_enum_variant<T>(&self, names: &[&str], f: &fn(uint) -> T) -> T;
97103

98104
fn read_enum_variant_arg<T>(&self, idx: uint, f: &fn() -> T) -> T;

branches/snap-stage3/src/snapshots.txt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,3 @@
1-
S 2013-03-28 f7a2371
2-
macos-i386 2e05a33716fc4982db53946c3b0dccf0194826fe
3-
macos-x86_64 fbd3feec8dd17a6b6c8df114e6e9b4cd17cc6172
4-
linux-i386 b89197edd3ba5be7c2ee6577f048d7663640e1d1
5-
linux-x86_64 61a4377c6d0ca5814c2b2b752d73b61b741a23c9
6-
winnt-i386 858a74afb210b30697227a87b67e44786b383a0c
7-
freebsd-x86_64 01f1e4b94504045e763eecb71c7e0852f6e85036
8-
91
S 2013-03-27 8c15409
102
macos-x86_64 05eb3801b60056d95715c891d00c5d372e34d00c
113
macos-i386 4119e3fa614fa86adf60ed0183d00db3ce6d0dbc

0 commit comments

Comments
 (0)