Skip to content

Commit 8b538ed

Browse files
committed
---
yaml --- r: 179437 b: refs/heads/snap-stage3 c: 7884eb8 h: refs/heads/master i: 179435: b5abd52 v: v3
1 parent 3b7635a commit 8b538ed

File tree

846 files changed

+14810
-6575
lines changed

Some content is hidden

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

846 files changed

+14810
-6575
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: 0ba9e1fa52627404a1e5b90f745f96a872a0c564
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: a9583d62365c144e55f6c8ae49e30193c41c4268
4+
refs/heads/snap-stage3: 7884eb8e2ff8f0796a95aa0216e69241934ce14f
55
refs/heads/try: ccf8fedf1cffcb8f6f3581d53d220039e192fe77
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d

branches/snap-stage3/COPYRIGHT

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ The following third party packages are included, and carry
2323
their own copyright notices and license terms:
2424

2525
* Two header files that are part of the Valgrind
26-
package. These files are found at src/rt/vg/valgrind.h and
27-
src/rt/vg/memcheck.h, within this distribution. These files
26+
package. These files are found at src/rt/valgrind/valgrind.h and
27+
src/rt/valgrind/memcheck.h, within this distribution. These files
2828
are redistributed under the following terms, as noted in
2929
them:
3030

31-
for src/rt/vg/valgrind.h:
31+
for src/rt/valgrind/valgrind.h:
3232

3333
This file is part of Valgrind, a dynamic binary
3434
instrumentation framework.
@@ -74,7 +74,7 @@ their own copyright notices and license terms:
7474
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
7575
OF SUCH DAMAGE.
7676

77-
for src/rt/vg/memcheck.h:
77+
for src/rt/valgrind/memcheck.h:
7878

7979
This file is part of MemCheck, a heavyweight Valgrind
8080
tool for detecting memory errors.
@@ -120,18 +120,6 @@ their own copyright notices and license terms:
120120
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
121121
OF SUCH DAMAGE.
122122

123-
* The auxiliary file src/etc/pkg/modpath.iss contains a
124-
library routine compiled, by Inno Setup, into the Windows
125-
installer binary. This file is licensed under the LGPL,
126-
version 3, but, in our legal interpretation, this does not
127-
affect the aggregate "collected work" license of the Rust
128-
distribution (MIT/ASL2) nor any other components of it. We
129-
believe that the terms governing distribution of the
130-
binary Windows installer built from modpath.iss are
131-
therefore LGPL, but not the terms governing distribution
132-
of any of the files installed by such an installer (such
133-
as the Rust compiler or runtime libraries themselves).
134-
135123
* The src/rt/miniz.c file, carrying an implementation of
136124
RFC1950/RFC1951 DEFLATE, by Rich Geldreich
137125
<[email protected]>. All uses of this file are

branches/snap-stage3/Makefile.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@
5959
# * check-stage$(stage)-$(crate) - Test a crate in a specific stage
6060
# * check-stage$(stage)-{rpass,rfail,cfail,rmake,...} - Run tests in src/test/
6161
# * check-stage1-T-$(target)-H-$(host) - Run cross-compiled-tests
62+
# * tidy-basic - show file / line stats
63+
# * tidy-errors - show the highest rustc error code
64+
# * tidy-features - show the status of language and lib features
6265
#
6366
# Then mix in some of these environment variables to harness the
6467
# ultimate power of The Rust Build System.

branches/snap-stage3/configure

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,10 @@ case $CFG_OSTYPE in
374374
CFG_OSTYPE=unknown-dragonfly
375375
;;
376376

377+
OpenBSD)
378+
CFG_OSTYPE=unknown-openbsd
379+
;;
380+
377381
Darwin)
378382
CFG_OSTYPE=apple-darwin
379383
;;

branches/snap-stage3/man/rustc.1

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,15 @@ Display the help message
1818
\fB\-\-cfg\fR SPEC
1919
Configure the compilation environment
2020
.TP
21-
\fB\-L\fR PATH
22-
Add a directory to the library search path
23-
.TP
24-
\fB\-l\fR NAME[:KIND]
21+
\fB\-L\fR [KIND=]PATH
22+
Add a directory to the library search path. The optional KIND can be one of:
23+
dependency = only lookup transitive dependencies here
24+
crate = only lookup local `extern crate` directives here
25+
native = only lookup native libraries here
26+
framework = only look for OSX frameworks here
27+
all = look for anything here (the default)
28+
.TP
29+
\fB\-l\fR [KIND=]NAME
2530
Link the generated crate(s) to the specified native library NAME. The optional
2631
KIND can be one of, static, dylib, or framework. If omitted, dylib is assumed.
2732
.TP
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# x86_64-pc-openbsd-elf configuration
2+
CC_x86_64-unknown-openbsd=$(CC)
3+
CXX_x86_64-unknown-openbsd=$(CXX)
4+
CPP_x86_64-unknown-openbsd=$(CPP)
5+
AR_x86_64-unknown-openbsd=$(AR)
6+
CFG_LIB_NAME_x86_64-unknown-openbsd=lib$(1).so
7+
CFG_STATIC_LIB_NAME_x86_64-unknown-openbsd=lib$(1).a
8+
CFG_LIB_GLOB_x86_64-unknown-openbsd=lib$(1)-*.so
9+
CFG_LIB_DSYM_GLOB_x86_64-unknown-openbsd=$(1)-*.dylib.dSYM
10+
CFG_JEMALLOC_CFLAGS_x86_64-unknown-openbsd := -m64 -I/usr/include $(CFLAGS)
11+
CFG_GCCISH_CFLAGS_x86_64-unknown-openbsd := -Wall -Werror -g -fPIC -m64 -I/usr/include $(CFLAGS)
12+
CFG_GCCISH_LINK_FLAGS_x86_64-unknown-openbsd := -shared -fPIC -g -pthread -m64
13+
CFG_GCCISH_DEF_FLAG_x86_64-unknown-openbsd := -Wl,--export-dynamic,--dynamic-list=
14+
CFG_GCCISH_PRE_LIB_FLAGS_x86_64-unknown-openbsd := -Wl,-whole-archive
15+
CFG_GCCISH_POST_LIB_FLAGS_x86_64-unknown-openbsd := -Wl,-no-whole-archive
16+
CFG_DEF_SUFFIX_x86_64-unknown-openbsd := .bsd.def
17+
CFG_LLC_FLAGS_x86_64-unknown-openbsd :=
18+
CFG_INSTALL_NAME_x86_64-unknown-openbsd =
19+
CFG_EXE_SUFFIX_x86_64-unknown-openbsd :=
20+
CFG_WINDOWSY_x86_64-unknown-openbsd :=
21+
CFG_UNIXY_x86_64-unknown-openbsd := 1
22+
CFG_PATH_MUNGE_x86_64-unknown-openbsd :=
23+
CFG_LDPATH_x86_64-unknown-openbsd :=
24+
CFG_RUN_x86_64-unknown-openbsd=$(2)
25+
CFG_RUN_TARG_x86_64-unknown-openbsd=$(call CFG_RUN_x86_64-unknown-openbsd,,$(2))
26+
CFG_GNU_TRIPLE_x86_64-unknown-openbsd := x86_64-unknown-openbsd

branches/snap-stage3/mk/main.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ endif
7272
# numbers and dots here
7373
CFG_VERSION_WIN = $(CFG_RELEASE_NUM)
7474

75+
CFG_INFO := $(info cfg: version $(CFG_VERSION))
7576

7677
######################################################################
7778
# More configuration
@@ -179,6 +180,7 @@ endif
179180

180181
ifndef CFG_DISABLE_VALGRIND_RPASS
181182
$(info cfg: enabling valgrind run-pass tests (CFG_ENABLE_VALGRIND_RPASS))
183+
$(info cfg: valgrind-rpass command set to $(CFG_VALGRIND))
182184
CFG_VALGRIND_RPASS :=$(CFG_VALGRIND)
183185
else
184186
CFG_VALGRIND_RPASS :=

branches/snap-stage3/mk/tests.mk

Lines changed: 23 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,8 @@ $(foreach file,$(wildcard $(S)src/doc/trpl/*.md), \
162162
######################################################################
163163

164164
# The main testing target. Tests lots of stuff.
165-
check: cleantmptestlogs cleantestlibs check-notidy tidy
165+
check: cleantmptestlogs cleantestlibs all check-stage2 tidy
166+
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
166167

167168
# As above but don't bother running tidy.
168169
check-notidy: cleantmptestlogs cleantestlibs all check-stage2
@@ -235,57 +236,24 @@ cleantestlibs:
235236
######################################################################
236237

237238
ifdef CFG_NOTIDY
239+
.PHONY: tidy
238240
tidy:
239241
else
240242

241-
ALL_CS := $(wildcard $(S)src/rt/*.cpp \
242-
$(S)src/rt/*/*.cpp \
243-
$(S)src/rt/*/*/*.cpp \
244-
$(S)src/rustllvm/*.cpp)
245-
ALL_CS := $(filter-out $(S)src/rt/miniz.cpp \
246-
$(wildcard $(S)src/rt/hoedown/src/*.c) \
247-
$(wildcard $(S)src/rt/hoedown/bin/*.c) \
248-
,$(ALL_CS))
249-
ALL_HS := $(wildcard $(S)src/rt/*.h \
250-
$(S)src/rt/*/*.h \
251-
$(S)src/rt/*/*/*.h \
252-
$(S)src/rustllvm/*.h)
253-
ALL_HS := $(filter-out $(S)src/rt/valgrind/valgrind.h \
254-
$(S)src/rt/valgrind/memcheck.h \
255-
$(S)src/rt/msvc/typeof.h \
256-
$(S)src/rt/msvc/stdint.h \
257-
$(S)src/rt/msvc/inttypes.h \
258-
$(wildcard $(S)src/rt/hoedown/src/*.h) \
259-
$(wildcard $(S)src/rt/hoedown/bin/*.h) \
260-
,$(ALL_HS))
261-
262243
# Run the tidy script in multiple parts to avoid huge 'echo' commands
263-
tidy:
244+
.PHONY: tidy
245+
tidy: tidy-basic tidy-binaries tidy-errors tidy-features
246+
247+
endif
248+
249+
.PHONY: tidy-basic
250+
tidy-basic:
264251
@$(call E, check: formatting)
265-
$(Q)find $(S)src -name '*.r[sc]' \
266-
-and -not -regex '^$(S)src/jemalloc.*' \
267-
-and -not -regex '^$(S)src/libuv.*' \
268-
-and -not -regex '^$(S)src/llvm.*' \
269-
-and -not -regex '^$(S)src/gyp.*' \
270-
-and -not -regex '^$(S)src/libbacktrace.*' \
271-
-print0 \
272-
| xargs -0 -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
273-
$(Q)find $(S)src/etc -name '*.py' \
274-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
275-
$(Q)find $(S)src/doc -name '*.js' \
276-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
277-
$(Q)find $(S)src/etc -name '*.sh' \
278-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
279-
$(Q)find $(S)src/etc -name '*.pl' \
280-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
281-
$(Q)find $(S)src/etc -name '*.c' \
282-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
283-
$(Q)find $(S)src/etc -name '*.h' \
284-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
285-
$(Q)echo $(ALL_CS) \
286-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
287-
$(Q)echo $(ALL_HS) \
288-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
252+
$(Q) $(CFG_PYTHON) $(S)src/etc/tidy.py $(S)src/
253+
254+
.PHONY: tidy-binaries
255+
tidy-binaries:
256+
@$(call E, check: binaries)
289257
$(Q)find $(S)src -type f -perm +a+x \
290258
-not -name '*.rs' -and -not -name '*.py' \
291259
-and -not -name '*.sh' \
@@ -300,11 +268,16 @@ tidy:
300268
| grep '^$(S)src/libbacktrace' -v \
301269
| grep '^$(S)src/rust-installer' -v \
302270
| xargs $(CFG_PYTHON) $(S)src/etc/check-binaries.py
303-
$(Q) $(CFG_PYTHON) $(S)src/etc/errorck.py $(S)src/
304-
$(Q) $(CFG_PYTHON) $(S)src/etc/featureck.py $(S)src/
305271

272+
.PHONY: tidy-errors
273+
tidy-errors:
274+
@$(call E, check: extended errors)
275+
$(Q) $(CFG_PYTHON) $(S)src/etc/errorck.py $(S)src/
306276

307-
endif
277+
.PHONY: tidy-features
278+
tidy-features:
279+
@$(call E, check: feature sanity)
280+
$(Q) $(CFG_PYTHON) $(S)src/etc/featureck.py $(S)src/
308281

309282

310283
######################################################################
@@ -639,7 +612,6 @@ CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \
639612

640613
ifdef CFG_VALGRIND_RPASS
641614
ifdef GOOD_VALGRIND_$(2)
642-
$(info cfg: valgrind-path set to $(CFG_VALGRIND_RPASS))
643615
CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) += --valgrind-path "$(CFG_VALGRIND_RPASS)"
644616
endif
645617
endif

branches/snap-stage3/src/compiletest/compiletest.rs

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#![feature(std_misc)]
2323
#![feature(test)]
2424
#![feature(unicode)]
25+
#![feature(env)]
2526

2627
#![deny(warnings)]
2728

@@ -31,7 +32,7 @@ extern crate getopts;
3132
#[macro_use]
3233
extern crate log;
3334

34-
use std::os;
35+
use std::env;
3536
use std::old_io;
3637
use std::old_io::fs;
3738
use std::thunk::Thunk;
@@ -48,7 +49,7 @@ pub mod common;
4849
pub mod errors;
4950

5051
pub fn main() {
51-
let args = os::args();
52+
let args = env::args().map(|s| s.into_string().unwrap()).collect();;
5253
let config = parse_config(args);
5354

5455
if config.valgrind_path.is_none() && config.force_valgrind {
@@ -96,22 +97,22 @@ pub fn parse_config(args: Vec<String> ) -> Config {
9697
assert!(!args.is_empty());
9798
let argv0 = args[0].clone();
9899
let args_ = args.tail();
99-
if args[1].as_slice() == "-h" || args[1].as_slice() == "--help" {
100+
if args[1] == "-h" || args[1] == "--help" {
100101
let message = format!("Usage: {} [OPTIONS] [TESTNAME...]", argv0);
101-
println!("{}", getopts::usage(message.as_slice(), groups.as_slice()));
102+
println!("{}", getopts::usage(&message, &groups));
102103
println!("");
103104
panic!()
104105
}
105106

106107
let matches =
107-
&match getopts::getopts(args_.as_slice(), groups.as_slice()) {
108+
&match getopts::getopts(args_, &groups) {
108109
Ok(m) => m,
109110
Err(f) => panic!("{:?}", f)
110111
};
111112

112113
if matches.opt_present("h") || matches.opt_present("help") {
113114
let message = format!("Usage: {} [OPTIONS] [TESTNAME...]", argv0);
114-
println!("{}", getopts::usage(message.as_slice(), groups.as_slice()));
115+
println!("{}", getopts::usage(&message, &groups));
115116
println!("");
116117
panic!()
117118
}
@@ -155,9 +156,9 @@ pub fn parse_config(args: Vec<String> ) -> Config {
155156
adb_test_dir: opt_str2(matches.opt_str("adb-test-dir")),
156157
adb_device_status:
157158
"arm-linux-androideabi" ==
158-
opt_str2(matches.opt_str("target")).as_slice() &&
159+
opt_str2(matches.opt_str("target")) &&
159160
"(none)" !=
160-
opt_str2(matches.opt_str("adb-test-dir")).as_slice() &&
161+
opt_str2(matches.opt_str("adb-test-dir")) &&
161162
!opt_str2(matches.opt_str("adb-test-dir")).is_empty(),
162163
lldb_python_dir: matches.opt_str("lldb-python-dir"),
163164
verbose: matches.opt_present("verbose"),
@@ -200,7 +201,7 @@ pub fn log_config(config: &Config) {
200201
pub fn opt_str<'a>(maybestr: &'a Option<String>) -> &'a str {
201202
match *maybestr {
202203
None => "(none)",
203-
Some(ref s) => s.as_slice(),
204+
Some(ref s) => s,
204205
}
205206
}
206207

@@ -212,7 +213,7 @@ pub fn opt_str2(maybestr: Option<String>) -> String {
212213
}
213214

214215
pub fn run_tests(config: &Config) {
215-
if config.target.as_slice() == "arm-linux-androideabi" {
216+
if config.target == "arm-linux-androideabi" {
216217
match config.mode {
217218
DebugInfoGdb => {
218219
println!("arm-linux-androideabi debug-info \
@@ -224,15 +225,15 @@ pub fn run_tests(config: &Config) {
224225
//arm-linux-androideabi debug-info test uses remote debugger
225226
//so, we test 1 task at once.
226227
// also trying to isolate problems with adb_run_wrapper.sh ilooping
227-
os::setenv("RUST_TEST_TASKS","1");
228+
env::set_var("RUST_TEST_TASKS","1");
228229
}
229230

230231
match config.mode {
231232
DebugInfoLldb => {
232233
// Some older versions of LLDB seem to have problems with multiple
233234
// instances running in parallel, so only run one test task at a
234235
// time.
235-
os::setenv("RUST_TEST_TASKS", "1");
236+
env::set_var("RUST_TEST_TASKS", "1");
236237
}
237238
_ => { /* proceed */ }
238239
}
@@ -245,7 +246,7 @@ pub fn run_tests(config: &Config) {
245246
old_io::test::raise_fd_limit();
246247
// Prevent issue #21352 UAC blocking .exe containing 'patch' etc. on Windows
247248
// If #11207 is resolved (adding manifest to .exe) this becomes unnecessary
248-
os::setenv("__COMPAT_LAYER", "RunAsInvoker");
249+
env::set_var("__COMPAT_LAYER", "RunAsInvoker");
249250
let res = test::run_tests_console(&opts, tests.into_iter().collect());
250251
match res {
251252
Ok(true) => {}
@@ -276,7 +277,7 @@ pub fn make_tests(config: &Config) -> Vec<test::TestDescAndFn> {
276277
config.src_base.display());
277278
let mut tests = Vec::new();
278279
let dirs = fs::readdir(&config.src_base).unwrap();
279-
for file in dirs.iter() {
280+
for file in &dirs {
280281
let file = file.clone();
281282
debug!("inspecting file {:?}", file.display());
282283
if is_test(config, &file) {
@@ -304,14 +305,14 @@ pub fn is_test(config: &Config, testfile: &Path) -> bool {
304305

305306
let mut valid = false;
306307

307-
for ext in valid_extensions.iter() {
308-
if name.ends_with(ext.as_slice()) {
308+
for ext in &valid_extensions {
309+
if name.ends_with(ext) {
309310
valid = true;
310311
}
311312
}
312313

313-
for pre in invalid_prefixes.iter() {
314-
if name.starts_with(pre.as_slice()) {
314+
for pre in &invalid_prefixes {
315+
if name.starts_with(pre) {
315316
valid = false;
316317
}
317318
}
@@ -358,7 +359,7 @@ pub fn make_metrics_test_closure(config: &Config, testfile: &Path) -> test::Test
358359
let config = (*config).clone();
359360
// FIXME (#9639): This needs to handle non-utf8 paths
360361
let testfile = testfile.as_str().unwrap().to_string();
361-
test::DynMetricFn(box move |: mm: &mut test::MetricMap| {
362+
test::DynMetricFn(box move |mm: &mut test::MetricMap| {
362363
runtest::run_metrics(config, testfile, mm)
363364
})
364365
}

0 commit comments

Comments
 (0)