Skip to content

Commit 34b491d

Browse files
committed
---
yaml --- r: 211828 b: refs/heads/auto c: c408667 h: refs/heads/master v: v3
1 parent 91a5dde commit 34b491d

File tree

229 files changed

+3044
-3181
lines changed

Some content is hidden

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

229 files changed

+3044
-3181
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: 7da222886190b8a73a16a3b744ce08269f9af03e
13+
refs/heads/auto: c40866785f6eac48eb00ed19d8e0121968dd72cd
1414
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1515
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1616
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336

branches/auto/CONTRIBUTING.md

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,7 @@ feature. We use the 'fork and pull' model described there.
8484
Please make pull requests against the `master` branch.
8585

8686
All pull requests are reviewed by another person. We have a bot,
87-
@rust-highfive, that will automatically assign a random person to review your
88-
request.
87+
@rust-highfive, that will automatically assign a random person to review your request.
8988

9089
If you want to request that a specific person reviews your pull request,
9190
you can add an `r?` to the message. For example, Steve usually reviews
@@ -125,10 +124,6 @@ To save @bors some work, and to get small changes through more quickly, when
125124
the other rollup-eligible patches too, and they'll get tested and merged at
126125
the same time.
127126

128-
To find documentation-related issues, sort by the [A-docs label][adocs].
129-
130-
[adocs]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AA-docs
131-
132127
## Issue Triage
133128

134129
Sometimes, an issue will stay open, even though the bug has been fixed. And
@@ -137,40 +132,8 @@ meantime.
137132

138133
It can be helpful to go through older bug reports and make sure that they are
139134
still valid. Load up an older issue, double check that it's still true, and
140-
leave a comment letting us know if it is or is not. The [least recently
141-
updated sort][lru] is good for finding issues like this.
142-
143-
Contributors with sufficient permissions on the Rust repo can help by adding
144-
labels to triage issues:
145-
146-
* Yellow, **A**-prefixed labels state which **area** of the project an issue
147-
relates to.
148-
149-
* Magenta, **B**-prefixed labels identify bugs which **belong** elsewhere.
150-
151-
* Green, **E**-prefixed labels explain the level of **experience** necessary
152-
to fix the issue.
153-
154-
* Red, **I**-prefixed labels indicate the **importance** of the issue. The
155-
[I-nominated][inom] label indicates that an issue has been nominated for
156-
prioritizing at the next triage meeting.
157-
158-
* Orange, **P**-prefixed labels indicate a bug's **priority**. These labels
159-
are only assigned during triage meetings, and replace the [I-nominated][inom]
160-
label.
161-
162-
* Blue, **T**-prefixed bugs denote which **team** the issue belongs to.
163-
164-
* Dark blue, **beta-** labels track changes which need to be backported into
165-
the beta branches.
166-
167-
* The purple **metabug** label marks lists of bugs collected by other
168-
categories.
169-
170-
If you're looking for somewhere to start, check out the [E-easy][eeasy] tag.
135+
leave a comment letting us know if it is or is not. The [least recently updated sort][lru] is good for finding issues like this.
171136

172-
[inom]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AI-nominated
173-
[eeasy]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy
174137
[lru]: https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-asc
175138

176139
## Out-of-tree Contributions

branches/auto/configure

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -565,7 +565,7 @@ opt rpath 0 "build rpaths into rustc itself"
565565
# This is used by the automation to produce single-target nightlies
566566
opt dist-host-only 0 "only install bins for the host architecture"
567567
opt inject-std-version 1 "inject the current compiler version of libstd into programs"
568-
opt llvm-version-check 1 "check if the LLVM version is supported, build anyway"
568+
opt llvm-version-check 1 "don't check if the LLVM version is supported, build anyway"
569569

570570
# Optimization and debugging options. These may be overridden by the release channel, etc.
571571
opt_nosave optimize 1 "build optimized rust code"
@@ -593,7 +593,6 @@ valopt musl-root "/usr/local" "MUSL root installation directory"
593593
opt_nosave manage-submodules 1 "let the build manage the git submodules"
594594
opt_nosave clang 0 "prefer clang to gcc for building the runtime"
595595
opt_nosave jemalloc 1 "build liballoc with jemalloc"
596-
opt elf-tls 1 "elf thread local storage on platforms where supported"
597596

598597
valopt_nosave prefix "/usr/local" "set installation prefix"
599598
valopt_nosave local-rust-root "/usr/local" "set prefix for local rust binary"
@@ -864,6 +863,11 @@ then
864863
CFG_DISABLE_JEMALLOC=1
865864
fi
866865

866+
if [ -z "$CFG_ENABLE_CLANG" -a -z "$CFG_GCC" ]
867+
then
868+
err "either clang or gcc is required"
869+
fi
870+
867871
# OS X 10.9, gcc is actually clang. This can cause some confusion in the build
868872
# system, so if we find that gcc is clang, we should just use clang directly.
869873
if [ $CFG_OSTYPE = apple-darwin -a -z "$CFG_ENABLE_CLANG" ]

branches/auto/man/rustc.1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.TH RUSTC "1" "August 2015" "rustc 1.2.0" "User Commands"
1+
.TH RUSTC "1" "March 2014" "rustc 0.13.0" "User Commands"
22
.SH NAME
33
rustc \- The Rust compiler
44
.SH SYNOPSIS
@@ -160,7 +160,7 @@ If the value is 'help', then a list of available CPUs is printed.
160160
\fBtarget\-feature\fR='\fI+feature1\fR,\fI\-feature2\fR'
161161
A comma\[hy]separated list of features to enable or disable for the target.
162162
A preceding '+' enables a feature while a preceding '\-' disables it.
163-
Available features can be discovered through \fIllc -mcpu=help\fR.
163+
Available features can be discovered through \fItarget\-cpu=help\fR.
164164
.TP
165165
\fBpasses\fR=\fIval\fR
166166
A space\[hy]separated list of extra LLVM passes to run.

branches/auto/man/rustdoc.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.TH RUSTDOC "1" "August 2015" "rustdoc 1.2.0" "User Commands"
1+
.TH RUSTDOC "1" "March 2014" "rustdoc 0.13.0" "User Commands"
22
.SH NAME
33
rustdoc \- generate documentation from Rust source code
44
.SH SYNOPSIS

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# aarch64-linux-android configuration
22
# CROSS_PREFIX_aarch64-linux-android-
33
CC_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-gcc
4+
LINK_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-gcc
45
CXX_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-g++
56
CPP_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-gcc -E
67
AR_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-ar

branches/auto/mk/cfg/aarch64-unknown-linux-gnu.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# aarch64-unknown-linux-gnu configuration
22
CROSS_PREFIX_aarch64-unknown-linux-gnu=aarch64-linux-gnu-
33
CC_aarch64-unknown-linux-gnu=gcc
4+
LINK_aarch64-unknown-linux-gnu=gcc
45
CXX_aarch64-unknown-linux-gnu=g++
56
CPP_aarch64-unknown-linux-gnu=gcc -E
67
AR_aarch64-unknown-linux-gnu=ar

branches/auto/mk/cfg/arm-linux-androideabi.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# arm-linux-androideabi configuration
2+
LINK_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-gcc
23
CC_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-gcc
34
CXX_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-g++
45
CPP_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-gcc -E

branches/auto/mk/cfg/i686-apple-darwin.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# i686-apple-darwin configuration
22
CC_i686-apple-darwin=$(CC)
3+
LINK_i686-apple-darwin=cc
34
CXX_i686-apple-darwin=$(CXX)
45
CPP_i686-apple-darwin=$(CPP)
56
AR_i686-apple-darwin=$(AR)

branches/auto/mk/cfg/i686-unknown-linux-gnu.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# i686-unknown-linux-gnu configuration
22
CC_i686-unknown-linux-gnu=$(CC)
3+
LINK_i686-unknown-linux-gnu=cc
34
CXX_i686-unknown-linux-gnu=$(CXX)
45
CPP_i686-unknown-linux-gnu=$(CPP)
56
AR_i686-unknown-linux-gnu=$(AR)

branches/auto/mk/cfg/x86_64-apple-darwin.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# x86_64-apple-darwin configuration
22
CC_x86_64-apple-darwin=$(CC)
3+
LINK_x86_64-apple-darwin=cc
34
CXX_x86_64-apple-darwin=$(CXX)
45
CPP_x86_64-apple-darwin=$(CPP)
56
AR_x86_64-apple-darwin=$(AR)

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# x86_64-pc-windows-gnu configuration
22
CROSS_PREFIX_x86_64-pc-windows-gnu=x86_64-w64-mingw32-
33
CC_x86_64-pc-windows-gnu=gcc
4+
LINK_x86_64-pc-windows-gnu=gcc
45
CXX_x86_64-pc-windows-gnu=g++
56
CPP_x86_64-pc-windows-gnu=gcc -E
67
AR_x86_64-pc-windows-gnu=ar

branches/auto/mk/cfg/x86_64-unknown-linux-gnu.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# x86_64-unknown-linux-gnu configuration
22
CC_x86_64-unknown-linux-gnu=$(CC)
3+
LINK_x86_64-unknown-linux-gnu=cc
34
CXX_x86_64-unknown-linux-gnu=$(CXX)
45
CPP_x86_64-unknown-linux-gnu=$(CPP)
56
AR_x86_64-unknown-linux-gnu=$(AR)

branches/auto/mk/crates.mk

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,3 @@ TOOL_INPUTS_$(1) := $$(call rwildcard,$$(dir $$(TOOL_SOURCE_$(1))),*.rs)
150150
endef
151151

152152
$(foreach crate,$(TOOLS),$(eval $(call RUST_TOOL,$(crate))))
153-
154-
ifdef CFG_DISABLE_ELF_TLS
155-
RUSTFLAGS_std := --cfg no_elf_tls
156-
endif

branches/auto/mk/main.mk

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,6 @@ ifneq ($(wildcard $(subst $(SPACE),\$(SPACE),$(CFG_GIT_DIR))),)
7474
endif
7575
endif
7676

77-
CFG_BUILD_DATE = $(shell date +%F)
78-
CFG_VERSION += (built $(CFG_BUILD_DATE))
79-
8077
# Windows exe's need numeric versions - don't use anything but
8178
# numbers and dots here
8279
CFG_VERSION_WIN = $(CFG_RELEASE_NUM)
@@ -334,7 +331,6 @@ endif
334331
ifdef CFG_VER_HASH
335332
export CFG_VER_HASH
336333
endif
337-
export CFG_BUILD_DATE
338334
export CFG_VERSION
339335
export CFG_VERSION_WIN
340336
export CFG_RELEASE

branches/auto/mk/platform.mk

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -120,15 +120,6 @@ endef
120120
$(foreach target,$(CFG_TARGET), \
121121
$(eval $(call ADD_INSTALLED_OBJECTS,$(target))))
122122

123-
define DEFINE_LINKER
124-
ifndef LINK_$(1)
125-
LINK_$(1) := $$(CC_$(1))
126-
endif
127-
endef
128-
129-
$(foreach target,$(CFG_TARGET), \
130-
$(eval $(call DEFINE_LINKER,$(target))))
131-
132123
# The -Qunused-arguments sidesteps spurious warnings from clang
133124
define FILTER_FLAGS
134125
ifeq ($$(CFG_USING_CLANG),1)

branches/auto/mk/tests.mk

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,24 +172,23 @@ check: check-sanitycheck cleantmptestlogs cleantestlibs all check-stage2 tidy
172172
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
173173

174174
# As above but don't bother running tidy.
175-
check-notidy: check-sanitycheck cleantmptestlogs cleantestlibs all check-stage2
175+
check-notidy: cleantmptestlogs cleantestlibs all check-stage2
176176
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
177177

178178
# A slightly smaller set of tests for smoke testing.
179-
check-lite: check-sanitycheck cleantestlibs cleantmptestlogs \
179+
check-lite: cleantestlibs cleantmptestlogs \
180180
$(foreach crate,$(TEST_TARGET_CRATES),check-stage2-$(crate)) \
181181
check-stage2-rpass check-stage2-rpass-valgrind \
182182
check-stage2-rfail check-stage2-cfail check-stage2-pfail check-stage2-rmake
183183
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
184184

185185
# Only check the 'reference' tests: rpass/cfail/rfail/rmake.
186-
check-ref: check-sanitycheck cleantestlibs cleantmptestlogs check-stage2-rpass \
187-
check-stage2-rpass-valgrind check-stage2-rfail check-stage2-cfail check-stage2-pfail \
188-
check-stage2-rmake
186+
check-ref: cleantestlibs cleantmptestlogs check-stage2-rpass check-stage2-rpass-valgrind \
187+
check-stage2-rfail check-stage2-cfail check-stage2-pfail check-stage2-rmake
189188
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
190189

191190
# Only check the docs.
192-
check-docs: check-sanitycheck cleantestlibs cleantmptestlogs check-stage2-docs
191+
check-docs: cleantestlibs cleantmptestlogs check-stage2-docs
193192
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
194193

195194
# Some less critical tests that are not prone to breakage.
@@ -582,6 +581,10 @@ ifeq ($(CFG_LLDB),)
582581
CTEST_DISABLE_debuginfo-lldb = "no lldb found"
583582
endif
584583

584+
ifeq ($(CFG_CLANG),)
585+
CTEST_DISABLE_codegen = "no clang found"
586+
endif
587+
585588
ifneq ($(CFG_OSTYPE),apple-darwin)
586589
CTEST_DISABLE_debuginfo-lldb = "lldb tests are only run on darwin"
587590
endif
@@ -642,6 +645,7 @@ CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \
642645
--run-lib-path $$(TLIB$(1)_T_$(2)_H_$(3)) \
643646
--rustc-path $$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
644647
--rustdoc-path $$(HBIN$(1)_H_$(3))/rustdoc$$(X_$(3)) \
648+
--clang-path $(if $(CFG_CLANG),$(CFG_CLANG),clang) \
645649
--llvm-bin-path $(CFG_LLVM_INST_DIR_$(CFG_BUILD))/bin \
646650
--aux-base $$(S)src/test/auxiliary/ \
647651
--stage-id stage$(1)-$(2) \

branches/auto/src/compiletest/common.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ pub struct Config {
8080
// The python executable
8181
pub python: String,
8282

83+
// The clang executable
84+
pub clang_path: Option<PathBuf>,
85+
8386
// The llvm binaries path
8487
pub llvm_bin_path: Option<PathBuf>,
8588

branches/auto/src/compiletest/compiletest.rs

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ use std::fs;
3333
use std::path::{Path, PathBuf};
3434
use getopts::{optopt, optflag, reqopt};
3535
use common::Config;
36-
use common::{Pretty, DebugInfoGdb, DebugInfoLldb};
36+
use common::{Pretty, DebugInfoGdb, DebugInfoLldb, Codegen};
3737
use util::logv;
3838

3939
pub mod procsrv;
@@ -63,6 +63,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
6363
reqopt("", "rustc-path", "path to rustc to use for compiling", "PATH"),
6464
reqopt("", "rustdoc-path", "path to rustdoc to use for compiling", "PATH"),
6565
reqopt("", "python", "path to python to use for doc tests", "PATH"),
66+
optopt("", "clang-path", "path to executable for codegen tests", "PATH"),
6667
optopt("", "valgrind-path", "path to Valgrind executable for Valgrind tests", "PROGRAM"),
6768
optflag("", "force-valgrind", "fail if Valgrind tests cannot be run under Valgrind"),
6869
optopt("", "llvm-bin-path", "path to directory holding llvm binaries", "DIR"),
@@ -132,6 +133,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
132133
rustc_path: opt_path(matches, "rustc-path"),
133134
rustdoc_path: opt_path(matches, "rustdoc-path"),
134135
python: matches.opt_str("python").unwrap(),
136+
clang_path: matches.opt_str("clang-path").map(|s| PathBuf::from(&s)),
135137
valgrind_path: matches.opt_str("valgrind-path"),
136138
force_valgrind: matches.opt_present("force-valgrind"),
137139
llvm_bin_path: matches.opt_str("llvm-bin-path").map(|s| PathBuf::from(&s)),
@@ -282,7 +284,13 @@ pub fn make_tests(config: &Config) -> Vec<test::TestDescAndFn> {
282284
let file = file.unwrap().path();
283285
debug!("inspecting file {:?}", file.display());
284286
if is_test(config, &file) {
285-
tests.push(make_test(config, &file))
287+
let t = make_test(config, &file, || {
288+
match config.mode {
289+
Codegen => make_metrics_test_closure(config, &file),
290+
_ => make_test_closure(config, &file)
291+
}
292+
});
293+
tests.push(t)
286294
}
287295
}
288296
tests
@@ -315,15 +323,16 @@ pub fn is_test(config: &Config, testfile: &Path) -> bool {
315323
return valid;
316324
}
317325

318-
pub fn make_test(config: &Config, testfile: &Path) -> test::TestDescAndFn
326+
pub fn make_test<F>(config: &Config, testfile: &Path, f: F) -> test::TestDescAndFn where
327+
F: FnOnce() -> test::TestFn,
319328
{
320329
test::TestDescAndFn {
321330
desc: test::TestDesc {
322331
name: make_test_name(config, testfile),
323332
ignore: header::is_test_ignored(config, testfile),
324333
should_panic: test::ShouldPanic::No,
325334
},
326-
testfn: make_test_closure(config, &testfile),
335+
testfn: f(),
327336
}
328337
}
329338

@@ -348,6 +357,14 @@ pub fn make_test_closure(config: &Config, testfile: &Path) -> test::TestFn {
348357
}))
349358
}
350359

360+
pub fn make_metrics_test_closure(config: &Config, testfile: &Path) -> test::TestFn {
361+
let config = (*config).clone();
362+
let testfile = testfile.to_path_buf();
363+
test::DynMetricFn(box move |mm: &mut test::MetricMap| {
364+
runtest::run_metrics(config, &testfile, mm)
365+
})
366+
}
367+
351368
fn extract_gdb_version(full_version_line: Option<String>) -> Option<String> {
352369
match full_version_line {
353370
Some(ref full_version_line)

0 commit comments

Comments
 (0)