Skip to content

Commit 2cbe845

Browse files
committed
---
yaml --- r: 89957 b: refs/heads/master c: 61e07d6 h: refs/heads/master i: 89955: 6f1e7ae v: v3
1 parent 6a04549 commit 2cbe845

File tree

14 files changed

+45
-47
lines changed

14 files changed

+45
-47
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 248cb90dfa00a7efdd51eb457afd9b59246b2d24
2+
refs/heads/master: 61e07d67924e26ec232312633e5c4ab6b954ea17
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: a6d3e57dca68fde4effdda3e4ae2887aa535fcd6
55
refs/heads/try: b160761e35efcd1207112b3b782c06633cf441a8

trunk/configure

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -520,14 +520,20 @@ then
520520
fi
521521
fi
522522

523+
BIN_SUF=
524+
if [ $CFG_OSTYPE = "pc-mingw32" ]
525+
then
526+
BIN_SUF=.exe
527+
fi
528+
523529
if [ ! -z "$CFG_ENABLE_LOCAL_RUST" ]
524530
then
525-
if [ ! -f ${CFG_LOCAL_RUST_ROOT}/bin/rustc ]
531+
if [ ! -f ${CFG_LOCAL_RUST_ROOT}/bin/rustc${BIN_SUF} ]
526532
then
527533
err "no local rust to use"
528534
else
529-
LRV=`${CFG_LOCAL_RUST_ROOT}/bin/rustc --version`
530-
step_msg "using rustc at: ${CFG_LOCAL_RUST_ROOT} with version: " $LRV
535+
LRV=`${CFG_LOCAL_RUST_ROOT}/bin/rustc${BIN_SUF} --version`
536+
step_msg "using rustc at: ${CFG_LOCAL_RUST_ROOT} with version: $LRV"
531537
fi
532538
fi
533539

trunk/doc/rust.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,9 +1131,8 @@ block.
11311131
let fptr: extern "C" fn() -> ~[int] = new_vec;
11321132
~~~~
11331133

1134-
Extern functions may be called from Rust code, but
1135-
caution must be taken with respect to the size of the stack
1136-
segment, just as when calling an extern function normally.
1134+
Extern functions may be called directly from Rust code as Rust uses large,
1135+
contiguous stack segments like C.
11371136

11381137
### Type definitions
11391138

@@ -3162,7 +3161,7 @@ Borrowed pointers (`&`)
31623161
Borrowed pointers arise by (automatic) conversion from owning pointers, managed pointers,
31633162
or by applying the borrowing operator `&` to some other value,
31643163
including [lvalues, rvalues or temporaries](#lvalues-rvalues-and-temporaries).
3165-
Borrowed pointers are written `&content`, or in some cases `&f/content` for some lifetime-variable `f`,
3164+
Borrowed pointers are written `&content`, or in some cases `&'f content` for some lifetime-variable `f`,
31663165
for example `&int` means a borrowed pointer to an integer.
31673166
Copying a borrowed pointer is a "shallow" operation:
31683167
it involves only copying the pointer itself.
@@ -3597,9 +3596,9 @@ and releases them back to its environment when they are no longer needed.
35973596
The default implementation of the service-provider interface
35983597
consists of the C runtime functions `malloc` and `free`.
35993598

3600-
The runtime memory-management system, in turn, supplies Rust tasks
3601-
with facilities for allocating, extending and releasing stacks,
3602-
as well as allocating and freeing heap data.
3599+
The runtime memory-management system, in turn, supplies Rust tasks with
3600+
facilities for allocating releasing stacks, as well as allocating and freeing
3601+
heap data.
36033602

36043603
### Built in types
36053604

@@ -3762,7 +3761,6 @@ have come and gone during the course of Rust's development:
37623761

37633762
Additional specific influences can be seen from the following languages:
37643763

3765-
* The stack-growth implementation of Go.
37663764
* The structural algebraic types and compilation manager of SML.
37673765
* The attribute and assembly systems of C#.
37683766
* The references and deterministic destructor system of C++.

trunk/src/etc/local_stage0.sh

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
TARG_DIR=$1
44
PREFIX=$2
55

6-
BINDIR=bin
7-
LIBDIR=lib
6+
LIB_DIR=lib
7+
LIB_PREFIX=lib
88

99
OS=`uname -s`
1010
case $OS in
@@ -21,7 +21,8 @@ case $OS in
2121
(*)
2222
BIN_SUF=.exe
2323
LIB_SUF=.dll
24-
LIBDIR=bin
24+
LIB_DIR=bin
25+
LIB_PREFIX=
2526
break
2627
;;
2728
esac
@@ -31,7 +32,7 @@ if [ -z $PREFIX ]; then
3132
exit 1
3233
fi
3334

34-
if [ ! -e ${PREFIX}/bin/rustc ]; then
35+
if [ ! -e ${PREFIX}/bin/rustc${BIN_SUF} ]; then
3536
echo "No local rust installed at ${PREFIX}"
3637
exit 1
3738
fi
@@ -41,9 +42,9 @@ if [ -z $TARG_DIR ]; then
4142
exit 1
4243
fi
4344

44-
cp ${PREFIX}/bin/rustc ${TARG_DIR}/stage0/bin/
45-
cp ${PREFIX}/lib/rustc/${TARG_DIR}/${LIBDIR}/* ${TARG_DIR}/stage0/${LIBDIR}/
46-
cp ${PREFIX}/lib/libextra*${LIB_SUF} ${TARG_DIR}/stage0/${LIBDIR}/
47-
cp ${PREFIX}/lib/librust*${LIB_SUF} ${TARG_DIR}/stage0/${LIBDIR}/
48-
cp ${PREFIX}/lib/libstd*${LIB_SUF} ${TARG_DIR}/stage0/${LIBDIR}/
49-
cp ${PREFIX}/lib/libsyntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIBDIR}/
45+
cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
46+
cp ${PREFIX}/${LIB_DIR}/rustc/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
47+
cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
48+
cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
49+
cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
50+
cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/

trunk/src/librustc/middle/resolve.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ use syntax::parse::token;
2929
use syntax::parse::token::{ident_interner, interner_get};
3030
use syntax::parse::token::special_idents;
3131
use syntax::print::pprust::path_to_str;
32-
use syntax::codemap::{Span, dummy_sp, BytePos};
32+
use syntax::codemap::{Span, dummy_sp, Pos};
3333
use syntax::opt_vec::OptVec;
3434
use syntax::visit;
3535
use syntax::visit::Visitor;
@@ -2624,7 +2624,7 @@ impl Resolver {
26242624
if "???" == module_name {
26252625
let span = Span {
26262626
lo: span.lo,
2627-
hi: span.lo + BytePos(segment_name.len()),
2627+
hi: span.lo + Pos::from_uint(segment_name.len()),
26282628
expn_info: span.expn_info,
26292629
};
26302630
self.resolve_error(span,

trunk/src/librustc/middle/typeck/astconv.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -560,10 +560,6 @@ pub fn ast_ty_to_ty<AC:AstConv, RS:RegionScope>(
560560
ast_ty.span,
561561
"found `ty_infer` in unexpected place");
562562
}
563-
ast::ty_mac(_) => {
564-
tcx.sess.span_bug(ast_ty.span,
565-
"found `ty_mac` in unexpected place");
566-
}
567563
};
568564

569565
tcx.ast_ty_to_ty_cache.insert(ast_ty.id, ty::atttce_resolved(typ));

trunk/src/libsyntax/ast.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -861,7 +861,6 @@ pub enum ty_ {
861861
ty_bare_fn(@TyBareFn),
862862
ty_tup(~[Ty]),
863863
ty_path(Path, Option<OptVec<TyParamBound>>, NodeId), // for #7264; see above
864-
ty_mac(mac),
865864
ty_typeof(@Expr),
866865
// ty_infer means the type should be inferred instead of it having been
867866
// specified. This should only appear at the "top level" of a type and not

trunk/src/libsyntax/codemap.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,11 @@ pub trait Pos {
2929
fn to_uint(&self) -> uint;
3030
}
3131

32-
/// A byte offset
32+
/// A byte offset. Keep this small (currently 32-bits), as AST contains
33+
/// a lot of them.
3334
#[deriving(Clone, Eq, IterBytes, Ord)]
34-
pub struct BytePos(uint);
35+
pub struct BytePos(u32);
36+
3537
/// A character offset. Because of multibyte utf8 characters, a byte offset
3638
/// is not equivalent to a character offset. The CodeMap will convert BytePos
3739
/// values to CharPos values as necessary.
@@ -42,8 +44,8 @@ pub struct CharPos(uint);
4244
// have been unsuccessful
4345

4446
impl Pos for BytePos {
45-
fn from_uint(n: uint) -> BytePos { BytePos(n) }
46-
fn to_uint(&self) -> uint { **self }
47+
fn from_uint(n: uint) -> BytePos { BytePos(n as u32) }
48+
fn to_uint(&self) -> uint { **self as uint }
4749
}
4850

4951
impl Add<BytePos, BytePos> for BytePos {
@@ -278,7 +280,7 @@ impl CodeMap {
278280

279281
let filemap = @FileMap {
280282
name: filename, substr: substr, src: src,
281-
start_pos: BytePos(start_pos),
283+
start_pos: Pos::from_uint(start_pos),
282284
lines: @mut ~[],
283285
multibyte_chars: @mut ~[],
284286
};

trunk/src/libsyntax/fold.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,6 @@ pub trait ast_fold {
277277
ty_fixed_length_vec(ref mt, e) => {
278278
ty_fixed_length_vec(fold_mt(mt, self), self.fold_expr(e))
279279
}
280-
ty_mac(ref mac) => ty_mac(self.fold_mac(mac)),
281280
ty_typeof(expr) => ty_typeof(self.fold_expr(expr)),
282281
};
283282
Ty {

trunk/src/libsyntax/parse/lexer.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ pub fn bump(rdr: &mut StringReader) {
247247
let last_char = rdr.curr;
248248
let next = rdr.src.char_range_at(current_byte_offset);
249249
let byte_offset_diff = next.next - current_byte_offset;
250-
rdr.pos = rdr.pos + BytePos(byte_offset_diff);
250+
rdr.pos = rdr.pos + Pos::from_uint(byte_offset_diff);
251251
rdr.curr = next.ch;
252252
rdr.col = rdr.col + CharPos(1u);
253253
if last_char == '\n' {
@@ -257,7 +257,7 @@ pub fn bump(rdr: &mut StringReader) {
257257

258258
if byte_offset_diff > 1 {
259259
rdr.filemap.record_multibyte_char(
260-
BytePos(current_byte_offset), byte_offset_diff);
260+
Pos::from_uint(current_byte_offset), byte_offset_diff);
261261
}
262262
} else {
263263
rdr.curr = unsafe { transmute(-1u32) }; // FIXME: #8971: unsound
@@ -333,7 +333,7 @@ fn consume_any_line_comment(rdr: @mut StringReader)
333333
bump(rdr);
334334
// line comments starting with "///" or "//!" are doc-comments
335335
if rdr.curr == '/' || rdr.curr == '!' {
336-
let start_bpos = rdr.pos - BytePos(3u);
336+
let start_bpos = rdr.pos - BytePos(3);
337337
while rdr.curr != '\n' && !is_eof(rdr) {
338338
bump(rdr);
339339
}
@@ -387,7 +387,7 @@ fn consume_block_comment(rdr: @mut StringReader)
387387
-> Option<TokenAndSpan> {
388388
// block comments starting with "/**" or "/*!" are doc-comments
389389
let is_doc_comment = rdr.curr == '*' || rdr.curr == '!';
390-
let start_bpos = rdr.pos - BytePos(if is_doc_comment {3u} else {2u});
390+
let start_bpos = rdr.pos - BytePos(if is_doc_comment {3} else {2});
391391

392392
let mut level: int = 1;
393393
while level > 0 {
@@ -815,7 +815,7 @@ fn next_token_inner(rdr: @mut StringReader) -> token::Token {
815815
// Byte offsetting here is okay because the
816816
// character before position `start` is an
817817
// ascii single quote.
818-
start - BytePos(1u),
818+
start - BytePos(1),
819819
rdr.last_pos,
820820
~"unterminated character constant");
821821
}

trunk/src/libsyntax/parse/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ mod test {
349349
}
350350

351351
// produce a codemap::span
352-
fn sp (a: uint, b: uint) -> Span {
352+
fn sp(a: u32, b: u32) -> Span {
353353
Span{lo:BytePos(a),hi:BytePos(b),expn_info:None}
354354
}
355355

trunk/src/libsyntax/parse/parser.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,7 @@ impl Parser {
606606
token::GT => self.bump(),
607607
token::BINOP(token::SHR) => self.replace_token(
608608
token::GT,
609-
self.span.lo + BytePos(1u),
609+
self.span.lo + BytePos(1),
610610
self.span.hi
611611
),
612612
_ => self.fatal(format!("expected `{}`, found `{}`",

trunk/src/libsyntax/print/pprust.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -459,9 +459,6 @@ pub fn print_type(s: @ps, ty: &ast::Ty) {
459459
print_expr(s, e);
460460
word(s.s, ")");
461461
}
462-
ast::ty_mac(_) => {
463-
fail!("print_type doesn't know how to print a ty_mac");
464-
}
465462
ast::ty_infer => {
466463
fail!("print_type shouldn't see a ty_infer");
467464
}
@@ -2119,7 +2116,7 @@ pub fn maybe_print_trailing_comment(s: @ps, span: codemap::Span,
21192116
if (*cmnt).style != comments::trailing { return; }
21202117
let span_line = cm.lookup_char_pos(span.hi);
21212118
let comment_line = cm.lookup_char_pos((*cmnt).pos);
2122-
let mut next = (*cmnt).pos + BytePos(1u);
2119+
let mut next = (*cmnt).pos + BytePos(1);
21232120
match next_pos { None => (), Some(p) => next = p }
21242121
if span.hi < (*cmnt).pos && (*cmnt).pos < next &&
21252122
span_line.line == comment_line.line {

trunk/src/libsyntax/visit.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ pub fn walk_ty<E:Clone, V:Visitor<E>>(visitor: &mut V, typ: &Ty, env: E) {
314314
ty_typeof(expression) => {
315315
visitor.visit_expr(expression, env)
316316
}
317-
ty_nil | ty_bot | ty_mac(_) | ty_infer => ()
317+
ty_nil | ty_bot | ty_infer => ()
318318
}
319319
}
320320

0 commit comments

Comments
 (0)