Skip to content

Commit 814a3e8

Browse files
committed
---
yaml --- r: 98137 b: refs/heads/master c: 62fbd00 h: refs/heads/master i: 98135: 7b09d4d v: v3
1 parent 28b500d commit 814a3e8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+672
-480
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: 142ee5fc55b080c58a4caf7afece64a40fde9fd0
2+
refs/heads/master: 62fbd00bed6ec435b52f03525c48f95d5fce8abd
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: b6400f998497c3958f40997a71756ead344a776d
55
refs/heads/try: c274a6888410ce3e357e014568b43310ed787d36

trunk/Makefile.in

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,9 @@ DRIVER_CRATE := $(S)src/driver/driver.rs
371371
LLVM_COMPONENTS=x86 arm mips ipo bitreader bitwriter linker asmparser jit mcjit \
372372
interpreter instrumentation
373373

374+
# Only build these LLVM tools
375+
LLVM_TOOLS=bugpoint llc llvm-ar llvm-as llvm-dis llvm-mc opt
376+
374377
define DEF_LLVM_VARS
375378
# The configure script defines these variables with the target triples
376379
# separated by Z. This defines new ones with the expected format.
@@ -418,7 +421,6 @@ export CFG_PREFIX
418421
export CFG_LIBDIR
419422
export CFG_RUSTLIBDIR
420423
export CFG_LIBDIR_RELATIVE
421-
export CFG_DISABLE_INJECT_STD_VERSION
422424

423425
######################################################################
424426
# Subprograms

trunk/configure

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,6 @@ opt clang 0 "prefer clang to gcc for building the runtime"
381381
opt ccache 0 "invoke gcc/clang via ccache to reuse object files between builds"
382382
opt local-rust 0 "use an installed rustc rather than downloading a snapshot"
383383
opt pax-flags 0 "apply PaX flags to rustc binaries (required for GRSecurity/PaX-patched kernels)"
384-
opt inject-std-version 1 "inject the current compiler version of libstd into programs"
385384
valopt prefix "/usr/local" "set installation prefix"
386385
valopt local-rust-root "/usr/local" "set prefix for local rust binary"
387386
valopt llvm-root "" "set LLVM root"
@@ -1043,7 +1042,6 @@ putvar CFG_DISABLE_MANAGE_SUBMODULES
10431042
putvar CFG_ANDROID_CROSS_PATH
10441043
putvar CFG_MINGW32_CROSS_PATH
10451044
putvar CFG_MANDIR
1046-
putvar CFG_DISABLE_INJECT_STD_VERSION
10471045

10481046
# Avoid spurious warnings from clang by feeding it original source on
10491047
# ccache-miss rather than preprocessed input.

trunk/doc/index.md

Lines changed: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,54 +4,52 @@
44
<style type="text/css">
55
#TOC { display: none; }
66
.header-section-number { display: none; }
7-
li {list-style-type: none; }
87
</style>
98

10-
* [The Rust tutorial](tutorial.html) (* [PDF](tutorial.pdf))
11-
* [The Rust reference manual](rust.html) (* [PDF](rust.pdf))
9+
[The Rust tutorial](tutorial.html) ([PDF](tutorial.pdf))
10+
[The Rust reference manual](rust.html) ([PDF](rust.pdf))
1211

1312
# Guides
1413

15-
* [Pointers](guide-pointers.html)
16-
* [References and Lifetimes](guide-lifetimes.html)
17-
* [Containers and Iterators](guide-container.html)
18-
* [Tasks and Communication](guide-tasks.html)
19-
* [Foreign Function Interface](guide-ffi.html)
20-
* [Macros](guide-macros.html)
21-
* [Packaging](guide-rustpkg.html)
22-
* [Testing](guide-testing.html)
23-
* [Conditions](guide-conditions.html)
24-
* [Rust's Runtime](guide-runtime.html)
14+
[Pointers](guide-pointers.html)
15+
[References and Lifetimes](guide-lifetimes.html)
16+
[Containers and Iterators](guide-container.html)
17+
[Tasks and Communication](guide-tasks.html)
18+
[Foreign Function Interface](guide-ffi.html)
19+
[Macros](guide-macros.html)
20+
[Packaging](guide-rustpkg.html)
21+
[Testing](guide-testing.html)
22+
[Conditions](guide-conditions.html)
23+
[Rust's Runtime](guide-runtime.html)
2524

2625
# Libraries
2726

28-
* [The standard library, `libstd`](std/index.html)
29-
* [The extra library, `libextra`](extra/index.html)
27+
[The standard library, `libstd`](std/index.html)
28+
[The extra library, `libextra`](extra/index.html)
3029

31-
* [The M:N runtime library, `libgreen`](green/index.html)
32-
* [The 1:1 runtime library, `libnative`](native/index.html)
30+
[The M:N runtime library, `libgreen`](green/index.html)
31+
[The 1:1 runtime library, `libnative`](native/index.html)
3332

34-
* [The Rust libuv library, `librustuv`](rustuv/index.html)
35-
* [The Rust packaging library, `librustpkg`](rustpkg/index.html)
33+
[The Rust libuv library, `librustuv`](rustuv/index.html)
34+
[The Rust packaging library, `librustpkg`](rustpkg/index.html)
3635

37-
* [The Rust parser, `libsyntax`](syntax/index.html)
38-
* [The Rust compiler, `librustc`](rustc/index.html)
36+
[The Rust parser, `libsyntax`](syntax/index.html)
37+
[The Rust compiler, `librustc`](rustc/index.html)
3938

4039
# Tooling
4140

42-
* [The `rustdoc` manual](rustdoc.html)
43-
* [The `rustpkg` manual](rustpkg.html)
41+
[The `rustpkg` manual](rustpkg.html)
4442

4543
# FAQs
4644

47-
* [Language FAQ](complement-lang-faq.html)
48-
* [Project FAQ](complement-project-faq.html)
49-
* [Usage FAQ](complement-usage-faq.html)
50-
* [Code cheatsheet](complement-cheatsheet.html) - "How do I do X?"
51-
* [How to submit a bug report](complement-bugreport.html)
45+
[Language FAQ](complement-lang-faq.html)
46+
[Project FAQ](complement-project-faq.html)
47+
[Usage FAQ](complement-usage-faq.html)
48+
[Code cheatsheet](complement-cheatsheet.html) - "How do I do X?"
49+
[How to submit a bug report](complement-bugreport.html)
5250

5351
# External resources
5452

55-
* The Rust [IRC channel](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust) - `#rust` on irc.mozilla.org
56-
* The Rust community on [Reddit](http://reddit.com/r/rust)
57-
* The Rust [wiki](http://github.com/mozilla/rust/wiki)
53+
The Rust [IRC channel](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust) - `#rust` on irc.mozilla.org
54+
The Rust community on [Reddit](http://reddit.com/r/rust)
55+
The Rust [wiki](http://github.com/mozilla/rust/wiki)

trunk/mk/llvm.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ LLVM_STAMP_$(1) = $$(CFG_LLVM_BUILD_DIR_$(1))/llvm-auto-clean-stamp
2828

2929
$$(LLVM_CONFIG_$(1)): $$(LLVM_DEPS) $$(LLVM_STAMP_$(1))
3030
@$$(call E, make: llvm)
31-
$$(Q)$$(MAKE) -C $$(CFG_LLVM_BUILD_DIR_$(1)) $$(CFG_LLVM_BUILD_ENV_$(1))
31+
$$(Q)$$(MAKE) -C $$(CFG_LLVM_BUILD_DIR_$(1)) $$(CFG_LLVM_BUILD_ENV_$(1)) ONLY_TOOLS="$$(LLVM_TOOLS)"
3232
$$(Q)touch $$(LLVM_CONFIG_$(1))
3333
endif
3434

trunk/src/etc/vim/syntax/rust.vim

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,8 @@ syn keyword rustTrait OrdIterator MutableDoubleEndedIterator ExactSize
8383
syn keyword rustTrait Times
8484

8585
syn keyword rustTrait Algebraic Trigonometric Exponential Hyperbolic
86-
syn keyword rustTrait Bitwise Bounded Integer Fractional Real RealExt
86+
syn keyword rustTrait Bitwise BitCount Bounded
87+
syn keyword rustTrait Integer Fractional Real RealExt
8788
syn keyword rustTrait Num NumCast CheckedAdd CheckedSub CheckedMul
8889
syn keyword rustTrait Orderable Signed Unsigned Round
8990
syn keyword rustTrait Primitive Int Float ToStrRadix ToPrimitive FromPrimitive

trunk/src/libextra/comm.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ Higher level communication abstractions.
1616

1717
#[allow(missing_doc)];
1818

19-
use std::comm;
20-
2119
/// An extension of `pipes::stream` that allows both sending and receiving.
2220
pub struct DuplexStream<T, U> {
2321
priv chan: Chan<T>,
@@ -42,7 +40,7 @@ impl<T:Send,U:Send> DuplexStream<T, U> {
4240
pub fn recv(&self) -> U {
4341
self.port.recv()
4442
}
45-
pub fn try_recv(&self) -> comm::TryRecvResult<U> {
43+
pub fn try_recv(&self) -> Option<U> {
4644
self.port.try_recv()
4745
}
4846
pub fn recv_opt(&self) -> Option<U> {
@@ -79,11 +77,11 @@ impl<T: Send> SyncPort<T> {
7977
})
8078
}
8179

82-
pub fn try_recv(&self) -> comm::TryRecvResult<T> {
83-
match self.duplex_stream.try_recv() {
84-
comm::Data(t) => { self.duplex_stream.try_send(()); comm::Data(t) }
85-
state => state,
86-
}
80+
pub fn try_recv(&self) -> Option<T> {
81+
self.duplex_stream.try_recv().map(|val| {
82+
self.duplex_stream.try_send(());
83+
val
84+
})
8785
}
8886
}
8987

trunk/src/libextra/enum_set.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
//! This module defines a container which uses an efficient bit mask
1414
//! representation to hold C-like enum variants.
1515
16-
use std::num::Bitwise;
17-
1816
#[deriving(Clone, Eq, IterBytes, ToStr, Encodable, Decodable)]
1917
/// A specialized Set implementation to use enum types.
2018
pub struct EnumSet<E> {

trunk/src/libextra/lib.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ Rust extras are part of the standard Rust distribution.
2020
2121
*/
2222

23-
// NOTE: upgrade to 0.10-pre after the next snapshot
24-
#[crate_id = "extra#0.9"];
23+
#[crate_id = "extra#0.10-pre"];
2524
#[comment = "Rust extras"];
2625
#[license = "MIT/ASL2"];
2726
#[crate_type = "rlib"];

trunk/src/libextra/num/bigint.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ A `BigInt` is a combination of `BigUint` and `Sign`.
2222
use std::cmp::{Eq, Ord, TotalEq, TotalOrd, Ordering, Less, Equal, Greater};
2323
use std::num;
2424
use std::num::{Zero, One, ToStrRadix, FromStrRadix, Orderable};
25-
use std::num::{Bitwise, ToPrimitive, FromPrimitive};
25+
use std::num::{ToPrimitive, FromPrimitive};
2626
use std::rand::Rng;
2727
use std::str;
2828
use std::uint;

trunk/src/libextra/sync.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020

2121
use std::borrow;
22-
use std::comm;
2322
use std::unstable::sync::Exclusive;
2423
use std::sync::arc::UnsafeArc;
2524
use std::sync::atomics;
@@ -50,7 +49,7 @@ impl WaitQueue {
5049
// Signals one live task from the queue.
5150
fn signal(&self) -> bool {
5251
match self.head.try_recv() {
53-
comm::Data(ch) => {
52+
Some(ch) => {
5453
// Send a wakeup signal. If the waiter was killed, its port will
5554
// have closed. Keep trying until we get a live task.
5655
if ch.try_send_deferred(()) {
@@ -59,20 +58,20 @@ impl WaitQueue {
5958
self.signal()
6059
}
6160
}
62-
_ => false
61+
None => false
6362
}
6463
}
6564

6665
fn broadcast(&self) -> uint {
6766
let mut count = 0;
6867
loop {
6968
match self.head.try_recv() {
70-
comm::Data(ch) => {
69+
None => break,
70+
Some(ch) => {
7171
if ch.try_send_deferred(()) {
7272
count += 1;
7373
}
7474
}
75-
_ => break
7675
}
7776
}
7877
count

trunk/src/libextra/time.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1459,7 +1459,7 @@ mod tests {
14591459
}
14601460

14611461
#[test]
1462-
#[ignore(cfg(target_os = "android"))] // FIXME #10958
1462+
#[ignore(cfg(android))] // FIXME #10958
14631463
fn run_tests() {
14641464
// The tests race on tzset. So instead of having many independent
14651465
// tests, we will just call the functions now.

trunk/src/libgreen/macros.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#[macro_escape];
1414

1515
use std::fmt;
16+
use std::libc;
1617

1718
// Indicates whether we should perform expensive sanity checks, including rtassert!
1819
// XXX: Once the runtime matures remove the `true` below to turn off rtassert, etc.
@@ -123,7 +124,6 @@ memory and partly incapable of presentation to others.",
123124
abort();
124125

125126
fn abort() -> ! {
126-
use std::unstable::intrinsics;
127-
unsafe { intrinsics::abort() }
127+
unsafe { libc::abort() }
128128
}
129129
}

trunk/src/libgreen/sched.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -958,7 +958,6 @@ fn new_sched_rng() -> XorShiftRng {
958958

959959
#[cfg(test)]
960960
mod test {
961-
use std::comm;
962961
use std::task::TaskOpts;
963962
use std::rt::Runtime;
964963
use std::rt::task::Task;
@@ -1377,7 +1376,7 @@ mod test {
13771376
// This task should not be able to starve the sender;
13781377
// The sender should get stolen to another thread.
13791378
do spawn {
1380-
while port.try_recv() != comm::Data(()) { }
1379+
while port.try_recv().is_none() { }
13811380
}
13821381

13831382
chan.send(());
@@ -1394,7 +1393,7 @@ mod test {
13941393
// This task should not be able to starve the other task.
13951394
// The sends should eventually yield.
13961395
do spawn {
1397-
while port.try_recv() != comm::Data(()) {
1396+
while port.try_recv().is_none() {
13981397
chan2.send(());
13991398
}
14001399
}

trunk/src/libnative/lib.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,30 @@ static OS_DEFAULT_STACK_ESTIMATE: uint = 1 << 20;
3939
#[cfg(unix, not(android))]
4040
static OS_DEFAULT_STACK_ESTIMATE: uint = 2 * (1 << 20);
4141

42+
43+
// XXX: this should not exist here
44+
#[cfg(stage0, nativestart)]
45+
#[lang = "start"]
46+
pub fn lang_start(main: *u8, argc: int, argv: **u8) -> int {
47+
use std::cast;
48+
use std::task;
49+
50+
do start(argc, argv) {
51+
// Instead of invoking main directly on this thread, invoke it on
52+
// another spawned thread that we are guaranteed to know the size of the
53+
// stack of. Currently, we do not have a method of figuring out the size
54+
// of the main thread's stack, so for stack overflow detection to work
55+
// we must spawn the task in a subtask which we know the stack size of.
56+
let main: extern "Rust" fn() = unsafe { cast::transmute(main) };
57+
let mut task = task::task();
58+
task.name("<main>");
59+
match do task.try { main() } {
60+
Ok(()) => { os::set_exit_status(0); }
61+
Err(..) => { os::set_exit_status(rt::DEFAULT_ERROR_CODE); }
62+
}
63+
}
64+
}
65+
4266
/// Executes the given procedure after initializing the runtime with the given
4367
/// argc/argv.
4468
///

trunk/src/librustc/back/abi.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,9 @@ pub static tydesc_field_align: uint = 1u;
4545
pub static tydesc_field_take_glue: uint = 2u;
4646
pub static tydesc_field_drop_glue: uint = 3u;
4747
pub static tydesc_field_visit_glue: uint = 4u;
48-
pub static tydesc_field_name_offset: uint = 5u;
49-
pub static n_tydesc_fields: uint = 6u;
48+
pub static tydesc_field_borrow_offset: uint = 5u;
49+
pub static tydesc_field_name_offset: uint = 6u;
50+
pub static n_tydesc_fields: uint = 7u;
5051

5152
// The two halves of a closure: code and environment.
5253
pub static fn_field_code: uint = 0u;

trunk/src/librustc/driver/driver.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1011,7 +1011,7 @@ pub fn optgroups() -> ~[getopts::groups::OptGroup] {
10111011
for details)", "FEATURE"),
10121012
optopt("", "android-cross-path",
10131013
"The path to the Android NDK", "PATH"),
1014-
optmulti("W", "warn",
1014+
optflagopt("W", "warn",
10151015
"Set lint warnings", "OPT"),
10161016
optmulti("A", "allow",
10171017
"Set lint allowed", "OPT"),

0 commit comments

Comments
 (0)