Skip to content

Commit d69973a

Browse files
committed
---
yaml --- r: 149556 b: refs/heads/try2 c: 34a224f h: refs/heads/master v: v3
1 parent 23a16f5 commit d69973a

File tree

389 files changed

+5629
-4798
lines changed

Some content is hidden

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

389 files changed

+5629
-4798
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: e26ba3605a7e6f9697c5e8878d60e466f93b7e2e
8+
refs/heads/try2: 34a224f4a1144c99cedbff9c0493d57037739d35
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/.travis.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Use something that's not 'ruby' so we don't set up things like
2+
# RVM/bundler/ruby and whatnot. Right now 'rust' isn't a language on travis and
3+
# it treats unknown languages as ruby-like I believe.
4+
language: c
5+
6+
# Before we start doing anything, install the latest stock LLVM. These are
7+
# maintained by LLVM, and more information can be found at llvm.org/apt.
8+
#
9+
# Right now, the highest version is 3.5, and our SVN version is roughly aligned
10+
# with the 3.5 API (hurray!)
11+
install:
12+
- sudo sh -c "echo 'deb http://llvm.org/apt/precise/ llvm-toolchain-precise main' >> /etc/apt/sources.list"
13+
- sudo sh -c "echo 'deb-src http://llvm.org/apt/precise/ llvm-toolchain-precise main' >> /etc/apt/sources.list"
14+
- sudo sh -c "echo 'deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu precise main' >> /etc/apt/sources.list"
15+
- wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
16+
- sudo apt-get update -qq
17+
- sudo apt-get install -y --force-yes -qq llvm-3.5 llvm-3.5-dev clang-3.5 lldb-3.5
18+
19+
# All of the llvm tools are suffixed with "-3.5" which we don't want, so symlink
20+
# them all into a local directory and just use that
21+
#
22+
# FIXME: this shouldn't update the src/llvm sub-repo, that takes about a minute
23+
# it's gotta download so much stuff.
24+
before_script:
25+
- mkdir -p local-llvm/bin
26+
- ln -nsf /usr/bin/llvm-config-3.5 local-llvm/bin/llvm-config
27+
- ln -nsf /usr/bin/llvm-mc-3.5 local-llvm/bin/llvm-mc
28+
- ln -nsf /usr/bin/llvm-as-3.5 local-llvm/bin/llvm-as
29+
- ln -nsf /usr/bin/llvm-dis-3.5 local-llvm/bin/llvm-dis
30+
- ln -nsf /usr/bin/llc-3.5 local-llvm/bin/llc
31+
- ln -nsf /usr/include/llvm-3.5 local-llvm/include
32+
- ./configure --disable-optimize-tests --llvm-root=`pwd`/local-llvm --enable-fast-make --enable-clang
33+
34+
# Tidy everything up first, then build a few things, and then run a few tests.
35+
# Note that this is meant to run in a "fairly small" amount of time, so this
36+
# isn't exhaustive at all.
37+
#
38+
# The "-lffi and -lncurses" are required for LLVM. The LLVM that rust builds
39+
# manually disables bringing in these two libraries, but the stock LLVM was
40+
# apparently built with these options. We provide these options when building so
41+
# the `rustc` binary can successfully link.
42+
#
43+
# As a result of https://github.com/travis-ci/travis-ci/issues/1066, we run
44+
# everything in one large command instead of multiple commands.
45+
script: |
46+
make tidy &&
47+
RUSTFLAGS="-C link-args='-lffi -lncurses'" make -j4 rustc-stage1 &&
48+
make check-stage1-std check-stage1-rpass check-stage1-cfail check-stage1-rfail
49+
50+
env:
51+
- NO_BENCH=1
52+
53+
# We track this ourselves, and in theory we don't have to update the LLVM repo
54+
# (but sadly we do right now anyway).
55+
git:
56+
submodules: false

branches/try2/AUTHORS.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Adrien Tétar <[email protected]>
77
Alan Andrade <[email protected]>
88
Aleksander Balicki <[email protected]>
99
Alex Crichton <[email protected]>
10+
Alex Lyon <[email protected]>
1011
Alex Rønne Petersen <[email protected]>
1112
Alexander Stavonin <[email protected]>
1213
Alexandros Tasos <[email protected]>

branches/try2/configure

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -604,7 +604,7 @@ then
604604
LLVM_VERSION=$($LLVM_CONFIG --version)
605605

606606
case $LLVM_VERSION in
607-
(3.[2-4]svn|3.[2-4])
607+
(3.[2-5]svn|3.[2-5])
608608
msg "found ok version of LLVM: $LLVM_VERSION"
609609
;;
610610
(*)
@@ -626,7 +626,7 @@ then
626626
| cut -d ' ' -f 2)
627627

628628
case $CFG_CLANG_VERSION in
629-
(3.0svn | 3.0 | 3.1* | 3.2* | 3.3* | 3.4* )
629+
(3.0svn | 3.0 | 3.1* | 3.2* | 3.3* | 3.4* | 3.5* )
630630
step_msg "found ok version of CLANG: $CFG_CLANG_VERSION"
631631
CFG_C_COMPILER="clang"
632632
;;

branches/try2/mk/crates.mk

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,34 +50,35 @@
5050
################################################################################
5151

5252
TARGET_CRATES := std extra green rustuv native flate arena glob term semver \
53-
uuid serialize sync getopts collections num test
53+
uuid serialize sync getopts collections num test time
5454
HOST_CRATES := syntax rustc rustdoc fourcc
5555
CRATES := $(TARGET_CRATES) $(HOST_CRATES)
5656
TOOLS := compiletest rustdoc rustc
5757

5858
DEPS_std := native:rustrt native:compiler-rt
59-
DEPS_extra := std term sync serialize getopts collections
59+
DEPS_extra := std term sync serialize getopts collections time
6060
DEPS_green := std native:context_switch
6161
DEPS_rustuv := std native:uv native:uv_support
6262
DEPS_native := std
6363
DEPS_syntax := std term serialize collections
6464
DEPS_rustc := syntax native:rustllvm flate arena serialize sync getopts \
65-
collections extra
65+
collections time extra
6666
DEPS_rustdoc := rustc native:sundown serialize sync getopts collections \
67-
test
68-
DEPS_flate := std native:miniz
67+
test time
68+
DEPS_flate := std extra native:miniz
6969
DEPS_arena := std collections
7070
DEPS_glob := std
71-
DEPS_serialize := std
72-
DEPS_term := std
71+
DEPS_serialize := std collections
72+
DEPS_term := std collections
7373
DEPS_semver := std
7474
DEPS_uuid := std serialize
7575
DEPS_sync := std
7676
DEPS_getopts := std
77-
DEPS_collections := std serialize
77+
DEPS_collections := std
7878
DEPS_fourcc := syntax std
79-
DEPS_num := std extra
79+
DEPS_num := std
8080
DEPS_test := std extra collections getopts serialize term
81+
DEPS_time := std serialize
8182

8283
TOOL_DEPS_compiletest := test green rustuv getopts
8384
TOOL_DEPS_rustdoc := rustdoc green rustuv

branches/try2/mk/main.mk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,12 @@ LLVM_TOOLS=bugpoint llc llvm-ar llvm-as llvm-dis llvm-mc opt llvm-extract
218218
define DEF_LLVM_VARS
219219
# The configure script defines these variables with the target triples
220220
# separated by Z. This defines new ones with the expected format.
221+
ifeq ($$(CFG_LLVM_ROOT),)
221222
CFG_LLVM_BUILD_DIR_$(1):=$$(CFG_LLVM_BUILD_DIR_$(subst -,_,$(1)))
222223
CFG_LLVM_INST_DIR_$(1):=$$(CFG_LLVM_INST_DIR_$(subst -,_,$(1)))
224+
else
225+
CFG_LLVM_INST_DIR_$(1):=$$(CFG_LLVM_ROOT)
226+
endif
223227

224228
# Any rules that depend on LLVM should depend on LLVM_CONFIG
225229
LLVM_CONFIG_$(1):=$$(CFG_LLVM_INST_DIR_$(1))/bin/llvm-config$$(X_$(1))

branches/try2/mk/prepare.mk

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#
1717
# It requires the following variables to be set:
1818
#
19-
# PREPARE_HOST - the host triple
19+
# PREPARE_HOST - the host triple
2020
# PREPARE_TARGETS - the target triples, space separated
2121
# PREPARE_DEST_DIR - the directory to put the image
2222

@@ -172,7 +172,10 @@ prepare-target-$(2)-host-$(3)-$(1): \
172172
$$(if $$(findstring $(2),$$(CFG_HOST)), \
173173
$$(foreach crate,$$(HOST_CRATES), \
174174
$$(TLIB$(1)_T_$(2)_H_$(3))/stamp.$$(crate)),)
175-
# Only install if this host and target combo is being prepared
175+
# Only install if this host and target combo is being prepared. Also be sure to
176+
# *not* install the rlibs for host crates because there's no need to statically
177+
# link against most of them. They just produce a large amount of extra size
178+
# bloat.
176179
$$(if $$(findstring $(1), $$(PREPARE_STAGE)),\
177180
$$(if $$(findstring $(2), $$(PREPARE_TARGETS)),\
178181
$$(if $$(findstring $(3), $$(PREPARE_HOST)),\
@@ -182,8 +185,7 @@ prepare-target-$(2)-host-$(3)-$(1): \
182185
$$(call PREPARE_LIB,$$(call CFG_RLIB_GLOB,$$(crate))))\
183186
$$(if $$(findstring $(2),$$(CFG_HOST)),\
184187
$$(foreach crate,$$(HOST_CRATES),\
185-
$$(call PREPARE_LIB,$$(call CFG_LIB_GLOB_$(2),$$(crate)))\
186-
$$(call PREPARE_LIB,$$(call CFG_RLIB_GLOB,$$(crate)))),)\
188+
$$(call PREPARE_LIB,$$(call CFG_LIB_GLOB_$(2),$$(crate)))),)\
187189
$$(call PREPARE_LIB,libmorestack.a) \
188190
$$(call PREPARE_LIB,libcompiler-rt.a),),),)
189191
endef

branches/try2/mk/tests.mk

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,9 @@ endif
171171
# Main test targets
172172
######################################################################
173173

174-
check: cleantestlibs cleantmptestlogs tidy all check-stage2
174+
check: cleantmptestlogs cleantestlibs tidy check-notidy
175+
176+
check-notidy: cleantmptestlogs cleantestlibs all check-stage2
175177
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
176178

177179
check-lite: cleantestlibs cleantmptestlogs \

branches/try2/src/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,21 @@ Source layout:
1010
| `libgreen/` | The M:N runtime library |
1111
| `libnative/` | The 1:1 runtime library |
1212
| `libsyntax/` | The Rust parser and pretty-printer |
13+
| `libcollections/` | A collection of useful data structures and containers |
14+
| `libnum/` | Extended number support library (complex, rational, etc) |
15+
| `libtest/` | Rust's test-runner code |
16+
| ------------------- | --------------------------------------------------------- |
17+
| `libarena/` | The arena (a fast but limited) memory allocator |
18+
| `libflate/` | Simple compression library |
19+
| `libfourcc/` | Data format identifier library |
20+
| `libgetopts/` | Get command-line-options library |
21+
| `libglob/` | Unix glob patterns library |
22+
| `libsemver/` | Rust's semantic versioning library |
23+
| `libserialize/` | Encode-Decode types library |
24+
| `libsync/` | Concurrency mechanisms and primitives |
25+
| `libterm/` | ANSI color library for terminals |
26+
| `libtime/` | Time operations library |
27+
| `libuuid/` | UUID's handling code |
1328
| ------------------- | --------------------------------------------------------- |
1429
| `rt/` | The runtime system |
1530
| `rt/rust_*.c` | - Some of the runtime services |
@@ -31,8 +46,13 @@ Source layout:
3146
| ------------------- | --------------------------------------------------------- |
3247
| `librustdoc/` | The Rust API documentation tool |
3348
| `libuv/` | The libuv submodule |
49+
| `librustuv/` | Rust libuv support code |
3450
| ------------------- | --------------------------------------------------------- |
3551
| `llvm/` | The LLVM submodule |
3652
| `rustllvm/` | LLVM support code |
3753
| ------------------- | --------------------------------------------------------- |
3854
| `etc/` | Scripts, editors support, misc |
55+
56+
57+
NOTE: This list (especially the second part of the table which contains modules and libraries)
58+
is highly volatile and subject to change.

branches/try2/src/compiletest/procsrv.rs

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,8 @@
99
// except according to those terms.
1010

1111
use std::os;
12-
use std::run;
1312
use std::str;
14-
use std::io::process::ProcessExit;
13+
use std::io::process::{ProcessExit, Process, ProcessConfig, ProcessOutput};
1514

1615
#[cfg(target_os = "win32")]
1716
fn target_env(lib_path: &str, prog: &str) -> ~[(~str,~str)] {
@@ -67,17 +66,19 @@ pub fn run(lib_path: &str,
6766
input: Option<~str>) -> Option<Result> {
6867

6968
let env = env + target_env(lib_path, prog);
70-
let mut opt_process = run::Process::new(prog, args, run::ProcessOptions {
71-
env: Some(env),
72-
.. run::ProcessOptions::new()
69+
let mut opt_process = Process::configure(ProcessConfig {
70+
program: prog,
71+
args: args,
72+
env: Some(env.as_slice()),
73+
.. ProcessConfig::new()
7374
});
7475

7576
match opt_process {
7677
Ok(ref mut process) => {
7778
for input in input.iter() {
78-
process.input().write(input.as_bytes()).unwrap();
79+
process.stdin.get_mut_ref().write(input.as_bytes()).unwrap();
7980
}
80-
let run::ProcessOutput { status, output, error } = process.finish_with_output();
81+
let ProcessOutput { status, output, error } = process.wait_with_output();
8182

8283
Some(Result {
8384
status: status,
@@ -93,18 +94,20 @@ pub fn run_background(lib_path: &str,
9394
prog: &str,
9495
args: &[~str],
9596
env: ~[(~str, ~str)],
96-
input: Option<~str>) -> Option<run::Process> {
97+
input: Option<~str>) -> Option<Process> {
9798

9899
let env = env + target_env(lib_path, prog);
99-
let opt_process = run::Process::new(prog, args, run::ProcessOptions {
100-
env: Some(env),
101-
.. run::ProcessOptions::new()
100+
let opt_process = Process::configure(ProcessConfig {
101+
program: prog,
102+
args: args,
103+
env: Some(env.as_slice()),
104+
.. ProcessConfig::new()
102105
});
103106

104107
match opt_process {
105108
Ok(mut process) => {
106109
for input in input.iter() {
107-
process.input().write(input.as_bytes()).unwrap();
110+
process.stdin.get_mut_ref().write(input.as_bytes()).unwrap();
108111
}
109112

110113
Some(process)

branches/try2/src/compiletest/runtest.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ fn run_debuginfo_test(config: &config, props: &TestProps, testfile: &Path) {
360360
stdout: out,
361361
stderr: err,
362362
cmdline: cmdline};
363-
process.force_destroy().unwrap();
363+
process.signal_kill().unwrap();
364364
}
365365

366366
_=> {

branches/try2/src/doc/complement-cheatsheet.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@ let y: int = x.unwrap();
2222

2323
**Int to string, in non-base-10**
2424

25-
Use [`ToStrRadix`](http://static.rust-lang.org/doc/master/std/num/trait.ToStrRadix.html).
25+
Use the `format!` syntax extension.
2626

2727
~~~
28-
use std::num::ToStrRadix;
29-
3028
let x: int = 42;
31-
let y: ~str = x.to_str_radix(16);
29+
let y: ~str = format!("{:t}", x); // binary
30+
let y: ~str = format!("{:o}", x); // octal
31+
let y: ~str = format!("{:x}", x); // lowercase hexadecimal
32+
let y: ~str = format!("{:X}", x); // uppercase hexidecimal
3233
~~~
3334

3435
**String to int, in non-base-10**
@@ -210,7 +211,7 @@ Description C signature Equivalent
210211
---------------------- ---------------------------------------------- ------------------------------------------
211212
no parameters `void foo(void);` `fn foo();`
212213
return value `int foo(void);` `fn foo() -> c_int;`
213-
function parameters `void foo(int x, int y);` `fn foo(x: int, y: int);`
214+
function parameters `void foo(int x, int y);` `fn foo(x: c_int, y: c_int);`
214215
in-out pointers `void foo(const int* in_ptr, int* out_ptr);` `fn foo(in_ptr: *c_int, out_ptr: *mut c_int);`
215216
216217
Note: The Rust signatures should be wrapped in an `extern "ABI" { ... }` block.

branches/try2/src/doc/guide-container.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ order.
3838
Each `HashMap` instance has a random 128-bit key to use with a keyed hash,
3939
making the order of a set of keys in a given hash table randomized. Rust
4040
provides a [SipHash](https://131002.net/siphash/) implementation for any type
41-
implementing the `IterBytes` trait.
41+
implementing the `Hash` trait.
4242

4343
## Double-ended queues
4444

@@ -186,12 +186,12 @@ let mut calls = 0;
186186
let it = xs.iter().scan((), |_, x| {
187187
calls += 1;
188188
if *x < 3 { Some(x) } else { None }});
189-
189+
190190
// the iterator will only yield 1 and 2 before returning None
191191
// If we were to call it 5 times, calls would end up as 5, despite
192192
// only 2 values being yielded (and therefore 3 unique calls being
193193
// made). The fuse() adaptor can fix this.
194-
194+
195195
let mut it = it.fuse();
196196
it.next();
197197
it.next();

branches/try2/src/doc/po/ja/tutorial.md.po

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4421,15 +4421,15 @@ msgstr ""
44214421
#, fuzzy
44224422
#| msgid ""
44234423
#| "The full list of derivable traits is `Eq`, `TotalEq`, `Ord`, `TotalOrd`, "
4424-
#| "`Encodable` `Decodable`, `Clone`, `DeepClone`, `IterBytes`, `Rand`, "
4424+
#| "`Encodable` `Decodable`, `Clone`, `DeepClone`, `Hash`, `Rand`, "
44254425
#| "`Zero`, and `ToStr`."
44264426
msgid ""
44274427
"The full list of derivable traits is `Eq`, `TotalEq`, `Ord`, `TotalOrd`, "
4428-
"`Encodable` `Decodable`, `Clone`, `DeepClone`, `IterBytes`, `Rand`, "
4428+
"`Encodable` `Decodable`, `Clone`, `DeepClone`, `Hash`, `Rand`, "
44294429
"`Default`, `Zero`, and `ToStr`."
44304430
msgstr ""
44314431
"実装を自動的に導出可能なトレイトは、 `Eq`, `TotalEq`, `Ord`, `TotalOrd`, "
4432-
"`Encodable` `Decodable`, `Clone`, `DeepClone`, `IterBytes`, `Rand`, `Zero`, "
4432+
"`Encodable` `Decodable`, `Clone`, `DeepClone`, `Hash`, `Rand`, `Zero`, "
44334433
"および `ToStr` です。."
44344434

44354435
#. type: Plain text

0 commit comments

Comments
 (0)