Skip to content

Commit 96b085a

Browse files
committed
---
yaml --- r: 175599 b: refs/heads/auto c: 3cb9fa2 h: refs/heads/master i: 175597: f03f660 175595: 9e76ccd 175591: 0fae6f2 175583: 1ebca4f v: v3
1 parent 750f5cd commit 96b085a

File tree

315 files changed

+3732
-2783
lines changed

Some content is hidden

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

315 files changed

+3732
-2783
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1010
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1111
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1212
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
13-
refs/heads/auto: e4b81d25122b0ff230182375d09300d5403b1750
13+
refs/heads/auto: 3cb9fa26ef9905c00a29ea577fb55a12a91c8e7b
1414
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1515
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1616
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336

branches/auto/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ documentation.
2121
1. Make sure you have installed the dependencies:
2222
* `g++` 4.7 or `clang++` 3.x
2323
* `python` 2.6 or later (but not 3.x)
24+
* `perl` 5.0 or later
2425
* GNU `make` 3.81 or later
2526
* `curl`
2627
* `git`

branches/auto/configure

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,6 +509,7 @@ opt optimize-tests 1 "build tests with optimizations"
509509
opt libcpp 1 "build with llvm with libc++ instead of libstdc++ when using clang"
510510
opt llvm-assertions 1 "build LLVM with assertions"
511511
opt debug 1 "build with extra debug fun"
512+
opt ratchet-bench 0 "ratchet benchmarks"
512513
opt fast-make 0 "use .gitmodules as timestamp for submodule deps"
513514
opt ccache 0 "invoke gcc/clang via ccache to reuse object files between builds"
514515
opt local-rust 0 "use an installed rustc rather than downloading a snapshot"
@@ -616,6 +617,7 @@ putvar CFG_BOOTSTRAP_KEY
616617

617618
step_msg "looking for build programs"
618619

620+
probe_need CFG_PERL perl
619621
probe_need CFG_CURLORWGET curl wget
620622
probe_need CFG_PYTHON python2.7 python2.6 python2 python
621623

@@ -1373,7 +1375,7 @@ do
13731375
done
13741376

13751377
# Munge any paths that appear in config.mk back to posix-y
1376-
sed -i.bak -e 's@ \([a-zA-Z]\):[/\\]@ /\1/@g;' config.tmp
1378+
perl -i.bak -p -e 's@ ([a-zA-Z]):[/\\]@ /\1/@go;' config.tmp
13771379
rm -f config.tmp.bak
13781380

13791381
msg

branches/auto/mk/cfg/aarch64-linux-android.mk

Lines changed: 0 additions & 30 deletions
This file was deleted.

branches/auto/mk/cfg/i686-pc-windows-gnu.mk

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ CFG_LIB_NAME_i686-pc-windows-gnu=$(1).dll
88
CFG_STATIC_LIB_NAME_i686-pc-windows-gnu=$(1).lib
99
CFG_LIB_GLOB_i686-pc-windows-gnu=$(1)-*.dll
1010
CFG_LIB_DSYM_GLOB_i686-pc-windows-gnu=$(1)-*.dylib.dSYM
11-
CFG_JEMALLOC_CFLAGS_i686-pc-windows-gnu := -march=i686 -m32 -D_WIN32_WINNT=0x0600 -D__USE_MINGW_ANSI_STDIO=1 $(CFLAGS)
12-
CFG_GCCISH_CFLAGS_i686-pc-windows-gnu := -Wall -Werror -g -m32 -D_WIN32_WINNT=0x0600 -D__USE_MINGW_ANSI_STDIO=1 $(CFLAGS)
11+
CFG_JEMALLOC_CFLAGS_i686-pc-windows-gnu := -march=i686 -m32 -D_WIN32_WINNT=0x0600 $(CFLAGS)
12+
CFG_GCCISH_CFLAGS_i686-pc-windows-gnu := -Wall -Werror -g -m32 -D_WIN32_WINNT=0x0600 $(CFLAGS)
1313
CFG_GCCISH_CXXFLAGS_i686-pc-windows-gnu := -fno-rtti $(CXXFLAGS)
1414
CFG_GCCISH_LINK_FLAGS_i686-pc-windows-gnu := -shared -g -m32
1515
CFG_GCCISH_DEF_FLAG_i686-pc-windows-gnu :=
@@ -22,7 +22,7 @@ CFG_EXE_SUFFIX_i686-pc-windows-gnu := .exe
2222
CFG_WINDOWSY_i686-pc-windows-gnu := 1
2323
CFG_UNIXY_i686-pc-windows-gnu :=
2424
CFG_PATH_MUNGE_i686-pc-windows-gnu :=
25-
CFG_LDPATH_i686-pc-windows-gnu :=
26-
CFG_RUN_i686-pc-windows-gnu=$(2)
27-
CFG_RUN_TARG_i686-pc-windows-gnu=$(call CFG_RUN_i686-pc-windows-gnu,,$(2))
25+
CFG_LDPATH_i686-pc-windows-gnu :=$(CFG_LDPATH_i686-pc-windows-gnu):$(PATH)
26+
CFG_RUN_i686-pc-windows-gnu=PATH="$(CFG_LDPATH_i686-pc-windows-gnu):$(1)" $(2)
27+
CFG_RUN_TARG_i686-pc-windows-gnu=$(call CFG_RUN_i686-pc-windows-gnu,$(HLIB$(1)_H_$(CFG_BUILD)),$(2))
2828
CFG_GNU_TRIPLE_i686-pc-windows-gnu := i686-w64-mingw32

branches/auto/mk/cfg/x86_64-pc-windows-gnu.mk

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ CFG_LIB_NAME_x86_64-pc-windows-gnu=$(1).dll
88
CFG_STATIC_LIB_NAME_x86_64-pc-windows-gnu=$(1).lib
99
CFG_LIB_GLOB_x86_64-pc-windows-gnu=$(1)-*.dll
1010
CFG_LIB_DSYM_GLOB_x86_64-pc-windows-gnu=$(1)-*.dylib.dSYM
11-
CFG_JEMALLOC_CFLAGS_x86_64-pc-windows-gnu := -m64 -D_WIN32_WINNT=0x0600 -D__USE_MINGW_ANSI_STDIO=1 $(CFLAGS)
12-
CFG_GCCISH_CFLAGS_x86_64-pc-windows-gnu := -Wall -Werror -g -m64 -D_WIN32_WINNT=0x0600 -D__USE_MINGW_ANSI_STDIO=1 $(CFLAGS)
11+
CFG_JEMALLOC_CFLAGS_x86_64-pc-windows-gnu := -m64 -D_WIN32_WINNT=0x0600 $(CFLAGS)
12+
CFG_GCCISH_CFLAGS_x86_64-pc-windows-gnu := -Wall -Werror -g -m64 -D_WIN32_WINNT=0x0600 $(CFLAGS)
1313
CFG_GCCISH_CXXFLAGS_x86_64-pc-windows-gnu := -fno-rtti $(CXXFLAGS)
1414
CFG_GCCISH_LINK_FLAGS_x86_64-pc-windows-gnu := -shared -g -m64
1515
CFG_GCCISH_DEF_FLAG_x86_64-pc-windows-gnu :=
@@ -22,7 +22,7 @@ CFG_EXE_SUFFIX_x86_64-pc-windows-gnu := .exe
2222
CFG_WINDOWSY_x86_64-pc-windows-gnu := 1
2323
CFG_UNIXY_x86_64-pc-windows-gnu :=
2424
CFG_PATH_MUNGE_x86_64-pc-windows-gnu :=
25-
CFG_LDPATH_x86_64-pc-windows-gnu :=
26-
CFG_RUN_x86_64-pc-windows-gnu=$(2)
27-
CFG_RUN_TARG_x86_64-pc-windows-gnu=$(call CFG_RUN_x86_64-pc-windows-gnu,,$(2))
25+
CFG_LDPATH_x86_64-pc-windows-gnu :=$(CFG_LDPATH_x86_64-pc-windows-gnu):$(PATH)
26+
CFG_RUN_x86_64-pc-windows-gnu=PATH="$(CFG_LDPATH_x86_64-pc-windows-gnu):$(1)" $(2)
27+
CFG_RUN_TARG_x86_64-pc-windows-gnu=$(call CFG_RUN_x86_64-pc-windows-gnu,$(HLIB$(1)_H_$(CFG_BUILD)),$(2))
2828
CFG_GNU_TRIPLE_x86_64-pc-windows-gnu := x86_64-w64-mingw32

branches/auto/mk/rt.mk

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,6 @@ else ifeq ($(OSTYPE_$(1)), apple-ios)
141141
JEMALLOC_ARGS_$(1) := --disable-tls
142142
else ifeq ($(OSTYPE_$(1)), linux-androideabi)
143143
JEMALLOC_ARGS_$(1) := --disable-tls
144-
else ifeq ($(OSTYPE_$(1)), linux-android)
145-
JEMALLOC_ARGS_$(1) := --disable-tls
146144
endif
147145

148146
################################################################################

branches/auto/mk/tests.mk

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,6 @@ tidy:
300300
| grep '^$(S)src/libbacktrace' -v \
301301
| grep '^$(S)src/rust-installer' -v \
302302
| xargs $(CFG_PYTHON) $(S)src/etc/check-binaries.py
303-
$(Q) $(CFG_PYTHON) $(S)src/etc/errorck.py $(S)src/
304303

305304

306305
endif

branches/auto/src/compiletest/common.rs

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use std::fmt;
1313
use std::str::FromStr;
1414
use regex::Regex;
1515

16-
#[derive(Clone, PartialEq)]
16+
#[derive(Clone, PartialEq, Debug)]
1717
pub enum Mode {
1818
CompileFail,
1919
RunFail,
@@ -43,9 +43,9 @@ impl FromStr for Mode {
4343
}
4444
}
4545

46-
impl fmt::String for Mode {
46+
impl fmt::Display for Mode {
4747
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
48-
fmt::String::fmt(match *self {
48+
fmt::Display::fmt(match *self {
4949
CompileFail => "compile-fail",
5050
RunFail => "run-fail",
5151
RunPass => "run-pass",
@@ -58,12 +58,6 @@ impl fmt::String for Mode {
5858
}
5959
}
6060

61-
impl fmt::Show for Mode {
62-
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
63-
fmt::String::fmt(self, f)
64-
}
65-
}
66-
6761
#[derive(Clone)]
6862
pub struct Config {
6963
// The library paths required for running the compiler
@@ -115,6 +109,20 @@ pub struct Config {
115109
// Write out a parseable log of tests that were run
116110
pub logfile: Option<Path>,
117111

112+
// Write out a json file containing any metrics of the run
113+
pub save_metrics: Option<Path>,
114+
115+
// Write and ratchet a metrics file
116+
pub ratchet_metrics: Option<Path>,
117+
118+
// Percent change in metrics to consider noise
119+
pub ratchet_noise_percent: Option<f64>,
120+
121+
// "Shard" of the testsuite to pub run: this has the form of
122+
// two numbers (a,b), and causes only those tests with
123+
// positional order equal to a mod b to run.
124+
pub test_shard: Option<(uint,uint)>,
125+
118126
// A command line to prefix program execution with,
119127
// for running under valgrind
120128
pub runtool: Option<String>,

branches/auto/src/compiletest/compiletest.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ pub fn parse_config(args: Vec<String> ) -> Config {
7777
optopt("", "target-rustcflags", "flags to pass to rustc for target", "FLAGS"),
7878
optflag("", "verbose", "run tests verbosely, showing all output"),
7979
optopt("", "logfile", "file to log test execution to", "FILE"),
80+
optopt("", "save-metrics", "file to save metrics to", "FILE"),
81+
optopt("", "ratchet-metrics", "file to ratchet metrics against", "FILE"),
82+
optopt("", "ratchet-noise-percent",
83+
"percent change in metrics to consider noise", "N"),
8084
optflag("", "jit", "run tests under the JIT"),
8185
optopt("", "target", "the target to build for", "TARGET"),
8286
optopt("", "host", "the host to build for", "HOST"),
@@ -86,6 +90,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
8690
optopt("", "adb-path", "path to the android debugger", "PATH"),
8791
optopt("", "adb-test-dir", "path to tests for the android debugger", "PATH"),
8892
optopt("", "lldb-python-dir", "directory containing LLDB's python module", "PATH"),
93+
optopt("", "test-shard", "run shard A, of B shards, worth of the testsuite", "A.B"),
8994
optflag("h", "help", "show this message"));
9095

9196
assert!(!args.is_empty());
@@ -147,6 +152,12 @@ pub fn parse_config(args: Vec<String> ) -> Config {
147152
filter: filter,
148153
cfail_regex: Regex::new(errors::EXPECTED_PATTERN).unwrap(),
149154
logfile: matches.opt_str("logfile").map(|s| Path::new(s)),
155+
save_metrics: matches.opt_str("save-metrics").map(|s| Path::new(s)),
156+
ratchet_metrics:
157+
matches.opt_str("ratchet-metrics").map(|s| Path::new(s)),
158+
ratchet_noise_percent:
159+
matches.opt_str("ratchet-noise-percent")
160+
.and_then(|s| s.as_slice().parse::<f64>()),
150161
runtool: matches.opt_str("runtool"),
151162
host_rustcflags: matches.opt_str("host-rustcflags"),
152163
target_rustcflags: matches.opt_str("target-rustcflags"),
@@ -165,6 +176,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
165176
opt_str2(matches.opt_str("adb-test-dir")).as_slice() &&
166177
!opt_str2(matches.opt_str("adb-test-dir")).is_empty(),
167178
lldb_python_dir: matches.opt_str("lldb-python-dir"),
179+
test_shard: test::opt_shard(matches.opt_str("test-shard")),
168180
verbose: matches.opt_present("verbose"),
169181
}
170182
}
@@ -198,6 +210,10 @@ pub fn log_config(config: &Config) {
198210
logv(c, format!("adb_test_dir: {:?}", config.adb_test_dir));
199211
logv(c, format!("adb_device_status: {}",
200212
config.adb_device_status));
213+
match config.test_shard {
214+
None => logv(c, "test_shard: (all)".to_string()),
215+
Some((a,b)) => logv(c, format!("test_shard: {}.{}", a, b))
216+
}
201217
logv(c, format!("verbose: {}", config.verbose));
202218
logv(c, format!("\n"));
203219
}
@@ -268,8 +284,15 @@ pub fn test_opts(config: &Config) -> test::TestOpts {
268284
logfile: config.logfile.clone(),
269285
run_tests: true,
270286
run_benchmarks: true,
287+
ratchet_metrics: config.ratchet_metrics.clone(),
288+
ratchet_noise_percent: config.ratchet_noise_percent.clone(),
289+
save_metrics: config.save_metrics.clone(),
290+
test_shard: config.test_shard.clone(),
271291
nocapture: false,
272292
color: test::AutoColor,
293+
show_boxplot: false,
294+
boxplot_width: 50,
295+
show_all_stats: false,
273296
}
274297
}
275298

branches/auto/src/compiletest/runtest.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,6 @@ fn run_pretty_test(config: &Config, props: &TestProps, testfile: &Path) {
294294
let aux_dir = aux_output_dir_name(config, testfile);
295295
// FIXME (#9639): This needs to handle non-utf8 paths
296296
let mut args = vec!("-".to_string(),
297-
"-Zunstable-options".to_string(),
298297
"--pretty".to_string(),
299298
pretty_type,
300299
format!("--target={}", config.target),
@@ -341,7 +340,7 @@ actual:\n\
341340
};
342341
// FIXME (#9639): This needs to handle non-utf8 paths
343342
let mut args = vec!("-".to_string(),
344-
"-Zno-trans".to_string(),
343+
"--no-trans".to_string(),
345344
"--crate-type=lib".to_string(),
346345
format!("--target={}", target),
347346
"-L".to_string(),
@@ -548,7 +547,7 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) {
548547

549548
// Add line breakpoints
550549
for line in breakpoint_lines.iter() {
551-
script_str.push_str(&format!("break '{:?}':{}\n",
550+
script_str.push_str(&format!("break '{}':{}\n",
552551
testfile.filename_display(),
553552
*line)[]);
554553
}
@@ -751,7 +750,7 @@ fn run_debuginfo_lldb_test(config: &Config, props: &TestProps, testfile: &Path)
751750
status: status,
752751
stdout: out,
753752
stderr: err,
754-
cmdline: format!("{}", cmd)
753+
cmdline: format!("{:?}", cmd)
755754
};
756755
}
757756
}
@@ -954,7 +953,7 @@ fn check_expected_errors(expected_errors: Vec<errors::ExpectedError> ,
954953
}
955954

956955
let prefixes = expected_errors.iter().map(|ee| {
957-
format!("{:?}:{}:", testfile.display(), ee.line)
956+
format!("{}:{}:", testfile.display(), ee.line)
958957
}).collect::<Vec<String> >();
959958

960959
#[cfg(windows)]

branches/auto/src/doc/reference.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2377,6 +2377,10 @@ These types help drive the compiler's analysis
23772377
: ___Needs filling in___
23782378
* `no_copy_bound`
23792379
: This type does not implement "copy", even if eligible.
2380+
* `no_send_bound`
2381+
: This type does not implement "send", even if eligible.
2382+
* `no_sync_bound`
2383+
: This type does not implement "sync", even if eligible.
23802384
* `eh_personality`
23812385
: ___Needs filling in___
23822386
* `exchange_free`

branches/auto/src/doc/trpl/crates-and-modules.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ fn goodbye() -> String {
257257

258258
(This is "Sayōnara", if you're curious.)
259259

260-
Now that we have some functionality in our crate, let's try to use it from
260+
Now that we have our some functionality in our crate, let's try to use it from
261261
another crate.
262262

263263
# Importing External Crates

branches/auto/src/doc/trpl/if.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
% If
1+
% `if`
22

33
Rust's take on `if` is not particularly complex, but it's much more like the
44
`if` you'll find in a dynamically typed language than in a more traditional

branches/auto/src/doc/trpl/unsafe.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -707,7 +707,7 @@ Other features provided by lang items include:
707707
various kinds; lang items `send`, `sync` and `copy`.
708708
- the marker types and variance indicators found in
709709
`std::marker`; lang items `covariant_type`,
710-
`contravariant_lifetime`, etc.
710+
`contravariant_lifetime`, `no_sync_bound`, etc.
711711

712712
Lang items are loaded lazily by the compiler; e.g. if one never uses
713713
`Box` then there is no need to define functions for `exchange_malloc`

branches/auto/src/etc/check-links.pl

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/usr/bin/perl -w
2+
# Copyright 2014 The Rust Project Developers. See the COPYRIGHT
3+
# file at the top-level directory of this distribution and at
4+
# http://rust-lang.org/COPYRIGHT.
5+
#
6+
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
7+
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
8+
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
9+
# option. This file may not be copied, modified, or distributed
10+
# except according to those terms.
11+
12+
my $file = $ARGV[0];
13+
14+
my @lines = <>;
15+
16+
my $anchors = {};
17+
18+
my $i = 0;
19+
for $line (@lines) {
20+
$i++;
21+
if ($line =~ m/id="([^"]+)"/) {
22+
$anchors->{$1} = $i;
23+
}
24+
}
25+
26+
$i = 0;
27+
for $line (@lines) {
28+
$i++;
29+
while ($line =~ m/href="#([^"]+)"/g) {
30+
if (! exists($anchors->{$1})) {
31+
print "$file:$i: $1 referenced\n";
32+
}
33+
}
34+
}

0 commit comments

Comments
 (0)