Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 20 pull requests #49317

Closed
wants to merge 83 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
683ad94
Add OnDrop
Zoxc Mar 15, 2018
3b43dcb
Replace Rc with Lrc
Zoxc Mar 14, 2018
910bf84
Always print `aborting due to n previous error(s)` and only print it …
Zoxc Mar 15, 2018
b1d872b
Update tests
Zoxc Mar 15, 2018
6fd4d67
rustbuild: Tweak where timing information goes
alexcrichton Mar 16, 2018
b57ea56
Stabilise FromUtf8Error::as_bytes
varkor Mar 17, 2018
b498192
Add a -Z flag for LLVM align attributes on arguments
scottmcm Mar 17, 2018
9a44448
add simd_select intrinsic
gnzlbg Mar 18, 2018
cca2604
add codegen test
gnzlbg Mar 18, 2018
c5c650d
Split out termination_trait_test feature gate
tmandry Mar 19, 2018
97b3bf9
Stabilize termination_trait
tmandry Mar 19, 2018
e5a55e7
Stabilize termination_trait in 1.25, not 1.26
tmandry Mar 19, 2018
be29e52
Match against friendly error message
tmandry Mar 20, 2018
5ccf3ff
diagnostics: Remove main return type errors from E0580
tmandry Mar 20, 2018
4eff4d9
ignore emscripten in run-pass test
gnzlbg Mar 20, 2018
1ef6948
Stabilize i128_type
mark-i-m Mar 17, 2018
0fe791c
Update nightly book
mark-i-m Mar 17, 2018
b5e991e
Stabilize i128 feature too
mark-i-m Mar 17, 2018
b7bec01
Rename unstable-book chapter
mark-i-m Mar 17, 2018
e4457b3
Rename unstable book correctly
mark-i-m Mar 17, 2018
8a334c9
remove unneeded import
mark-i-m Mar 17, 2018
1197f9a
Fix missed i128 feature gates
mark-i-m Mar 17, 2018
0027e98
Fix a few more
mark-i-m Mar 17, 2018
bca8eeb
Fix a few more unstables that I missed
mark-i-m Mar 18, 2018
a347bb3
update test
mark-i-m Mar 18, 2018
cf41fde
Fix e0658 ui test
mark-i-m Mar 18, 2018
116dd62
Remove library feature test
mark-i-m Mar 18, 2018
53405ec
Update to master of libcompiler_builtins
mark-i-m Mar 20, 2018
72334fe
typeck: Report main return type errors on return type span
tmandry Mar 20, 2018
57896ab
Make resuming generators unsafe instead of the creation of immovable …
Zoxc Mar 19, 2018
ac33ec7
did i get it right now?
mark-i-m Mar 21, 2018
1937661
Revert "Stabilize termination_trait in 1.25, not 1.26"
tmandry Mar 21, 2018
94bdeb6
termination_trait: Add () example to error message
tmandry Mar 21, 2018
2cdc7af
Use NOTE instead of error-pattern directive
tmandry Mar 21, 2018
06f8103
Bump racer and home
Eijebong Mar 21, 2018
75dcc61
Cargo fmt libtest
topecongiro Mar 21, 2018
b6934c9
termination_trait: Put examples in error help, not label
tmandry Mar 21, 2018
178652a
Add support to rustbuild for a 'rustc docs' component tarball
davidtwco Mar 20, 2018
1392179
Configure the dist-x86_64-linux builder to produce compiler documenta…
davidtwco Mar 20, 2018
f6a35aa
implement minmax intrinsics
gnzlbg Mar 21, 2018
c116b0e
Fixed clockwise/counter-clockwise in atan2 documentation in f32 and f64
Tacklebox Mar 22, 2018
2b13d95
termination_trait: Make error message more helpful
tmandry Mar 22, 2018
ecafa7b
add tests
gnzlbg Mar 22, 2018
a1a3bf2
Fix DefKey lookup for proc-macro crates.
michaelwoerister Mar 22, 2018
88268d7
require llvm 6
gnzlbg Mar 22, 2018
9839e5f
Remove slow HashSet during miri stack frame creation
oli-obk Mar 22, 2018
0118a65
properly handle the case when LLVM does not have min/maxnum
gnzlbg Mar 22, 2018
9fa14e4
Skip checking for Storage* statements in constants/statics
oli-obk Mar 22, 2018
d87b403
set min-llvm-version 6.0, ignore-emscripten
gnzlbg Mar 22, 2018
1b0e9f5
Only generate documentation for local rustc crates.
davidtwco Mar 22, 2018
73fa6d5
Remove std/test documentation from compiler docs.
davidtwco Mar 22, 2018
86f7d89
Allow installing rustfmt without config.extended
cuviper Mar 23, 2018
a09e9e9
ci: Don't use Travis caches for docker images
alexcrichton Mar 22, 2018
bf8e4f2
Vec<_> -> IndexVec<Local, _>
oli-obk Mar 23, 2018
b18b776
Replace uses of `Hash(Map|Set)` with `FxHash(Map|Set)` in miri
oli-obk Mar 23, 2018
4ea4dd2
Don't allocate a local array at all if there are no locals
oli-obk Mar 23, 2018
f9019ae
Simplify local accessors
oli-obk Mar 23, 2018
90588a9
Fix IE11 search
GuillaumeGomez Mar 23, 2018
700fd5a
Remove getopts leftover from tree
Mark-Simulacrum Mar 23, 2018
8921c16
Rollup merge of #48482 - davidtwco:issue-47184, r=nikomatsakis
alexcrichton Mar 23, 2018
19f8431
Rollup merge of #49046 - Zoxc:error-summary, r=michaelwoerister
alexcrichton Mar 23, 2018
d17afd1
Rollup merge of #49089 - alexcrichton:fix-timings, r=Mark-Simulacrum
alexcrichton Mar 23, 2018
20b5bf6
Rollup merge of #49101 - mark-i-m:stabilize_i128, r=nagisa
alexcrichton Mar 23, 2018
59b5887
Rollup merge of #49121 - varkor:stabilise-from_utf8_error_as_bytes, r…
alexcrichton Mar 23, 2018
4a3b5f7
Rollup merge of #49122 - scottmcm:z-align-attr, r=cramertj
alexcrichton Mar 23, 2018
9b0a43e
Rollup merge of #49141 - gnzlbg:simd_select, r=alexcrichton
alexcrichton Mar 23, 2018
6986057
Rollup merge of #49193 - davidtwco:issue-29893, r=alexcrichton
alexcrichton Mar 23, 2018
23ce530
Rollup merge of #49194 - Zoxc:unsafe-generator, r=cramertj
alexcrichton Mar 23, 2018
7fbc373
Rollup merge of #49203 - Eijebong:lets-cleanup-dependencies, r=Mark-S…
alexcrichton Mar 23, 2018
414e1d8
Rollup merge of #49235 - topecongiro:run-rustfmt/libtest, r=nrc
alexcrichton Mar 23, 2018
913adba
Rollup merge of #49249 - gnzlbg:simd_minmax, r=alexcrichton
alexcrichton Mar 23, 2018
8a1731a
Rollup merge of #49254 - Tacklebox:atan2_doc, r=QuietMisdreavus
alexcrichton Mar 23, 2018
cd9fb22
Rollup merge of #49273 - michaelwoerister:fix-extern-proc-macro-defke…
alexcrichton Mar 23, 2018
f0ea0c7
Rollup merge of #49274 - oli-obk:slow_miri, r=michaelwoerister,eddyb
alexcrichton Mar 23, 2018
8c653a7
Rollup merge of #49284 - alexcrichton:use-our-own-cache, r=kennytm
alexcrichton Mar 23, 2018
6c73231
Rollup merge of #49290 - cuviper:unextended-dist-rustfmt, r=nikomatsakis
alexcrichton Mar 23, 2018
0615e6b
Rollup merge of #49311 - SimonSapin:bootstrap-vs-rustflags-the-return…
alexcrichton Mar 23, 2018
8cb9b83
Rollup merge of #49312 - GuillaumeGomez:fix-ie11-search, r=QuietMisdr…
alexcrichton Mar 23, 2018
b928781
Rollup merge of #49314 - Mark-Simulacrum:remove-getopts, r=alexcrichton
alexcrichton Mar 23, 2018
ba92a7b
Merge branch 'stabilize-termination-trait' of https://github.com/tman…
alexcrichton Mar 23, 2018
bbdb20a
Test fixes and merge conflicts
alexcrichton Mar 23, 2018
455e542
Merge remote-tracking branch 'origin/master' into rollup
alexcrichton Mar 24, 2018
fc23686
More test fixes
alexcrichton Mar 24, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 6 additions & 16 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,6 @@ matrix:
if: branch = master AND type = push
before_install: []
install: []
cache: false
sudo: false
script:
MESSAGE_FILE=$(mktemp -t msg.XXXXXX);
Expand All @@ -201,7 +200,12 @@ env:
- secure: "cFh8thThqEJLC98XKI5pfqflUzOlxsYPRW20AWRaYOOgYHPTiGWypTXiPbGSKaeAXTZoOA+DpQtEmefc0U6lt9dHc7a/MIaK6isFurjlnKYiLOeTruzyu1z7PWCeZ/jKXsU2RK/88DBtlNwfMdaMIeuKj14IVfpepPPL71ETbuk="

before_install:
- zcat $HOME/docker/rust-ci.tar.gz | docker load || true
# We'll use the AWS cli to download/upload cached docker layers, so install
# that here.
- if [ "$TRAVIS_OS_NAME" = linux ]; then
pip install --user awscli;
export PATH=$PATH:$HOME/.local/bin;
fi
- mkdir -p $HOME/rustsrc
# FIXME(#46924): these two commands are required to enable IPv6,
# they shouldn't exist, please revert once more official solutions appeared.
Expand Down Expand Up @@ -286,23 +290,9 @@ after_failure:
# it happened
- dmesg | grep -i kill

# Save tagged docker images we created and load them if they're available
# Travis saves caches whether the build failed or not, nuke rustsrc if
# the failure was while updating it (as it may be in a bad state)
# https://github.com/travis-ci/travis-ci/issues/4472
before_cache:
- docker history -q rust-ci |
grep -v missing |
xargs docker save |
gzip > $HOME/docker/rust-ci.tar.gz

notifications:
email: false

cache:
directories:
- $HOME/docker

before_deploy:
- mkdir -p deploy/$TRAVIS_COMMIT
- >
Expand Down
114 changes: 12 additions & 102 deletions src/Cargo.lock

Large diffs are not rendered by default.

12 changes: 7 additions & 5 deletions src/bootstrap/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -321,11 +321,13 @@ impl<'a> Builder<'a> {
test::RunMake),
Kind::Bench => describe!(test::Crate, test::CrateLibrustc),
Kind::Doc => describe!(doc::UnstableBook, doc::UnstableBookGen, doc::TheBook,
doc::Standalone, doc::Std, doc::Test, doc::Rustc, doc::ErrorIndex, doc::Nomicon,
doc::Reference, doc::Rustdoc, doc::RustByExample, doc::CargoBook),
Kind::Dist => describe!(dist::Docs, dist::Mingw, dist::Rustc, dist::DebuggerScripts,
dist::Std, dist::Analysis, dist::Src, dist::PlainSourceTarball, dist::Cargo,
dist::Rls, dist::Rustfmt, dist::Extended, dist::HashSign),
doc::Standalone, doc::Std, doc::Test, doc::WhitelistedRustc, doc::Rustc,
doc::ErrorIndex, doc::Nomicon, doc::Reference, doc::Rustdoc, doc::RustByExample,
doc::CargoBook),
Kind::Dist => describe!(dist::Docs, dist::RustcDocs, dist::Mingw, dist::Rustc,
dist::DebuggerScripts, dist::Std, dist::Analysis, dist::Src,
dist::PlainSourceTarball, dist::Cargo, dist::Rls, dist::Rustfmt, dist::Extended,
dist::HashSign),
Kind::Install => describe!(install::Docs, install::Std, install::Cargo, install::Rls,
install::Rustfmt, install::Analysis, install::Src, install::Rustc),
}
Expand Down
20 changes: 12 additions & 8 deletions src/bootstrap/check.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,17 +40,18 @@ impl Step for Std {
let target = self.target;
let compiler = builder.compiler(0, build.build);

let _folder = build.fold_output(|| format!("stage{}-std", compiler.stage));
println!("Checking std artifacts ({} -> {})", &compiler.host, target);

let out_dir = build.stage_out(compiler, Mode::Libstd);
build.clear_if_dirty(&out_dir, &builder.rustc(compiler));
let mut cargo = builder.cargo(compiler, Mode::Libstd, target, "check");
std_cargo(builder, &compiler, target, &mut cargo);

let _folder = build.fold_output(|| format!("stage{}-std", compiler.stage));
println!("Checking std artifacts ({} -> {})", &compiler.host, target);
run_cargo(build,
&mut cargo,
&libstd_stamp(build, compiler, target),
true);

let libdir = builder.sysroot_libdir(compiler, target);
add_to_sysroot(&libdir, &libstd_stamp(build, compiler, target));
}
Expand Down Expand Up @@ -86,19 +87,20 @@ impl Step for Rustc {
let compiler = builder.compiler(0, build.build);
let target = self.target;

let _folder = build.fold_output(|| format!("stage{}-rustc", compiler.stage));
println!("Checking compiler artifacts ({} -> {})", &compiler.host, target);

let stage_out = builder.stage_out(compiler, Mode::Librustc);
build.clear_if_dirty(&stage_out, &libstd_stamp(build, compiler, target));
build.clear_if_dirty(&stage_out, &libtest_stamp(build, compiler, target));

let mut cargo = builder.cargo(compiler, Mode::Librustc, target, "check");
rustc_cargo(build, &mut cargo);

let _folder = build.fold_output(|| format!("stage{}-rustc", compiler.stage));
println!("Checking compiler artifacts ({} -> {})", &compiler.host, target);
run_cargo(build,
&mut cargo,
&librustc_stamp(build, compiler, target),
true);

let libdir = builder.sysroot_libdir(compiler, target);
add_to_sysroot(&libdir, &librustc_stamp(build, compiler, target));
}
Expand Down Expand Up @@ -128,16 +130,18 @@ impl Step for Test {
let target = self.target;
let compiler = builder.compiler(0, build.build);

let _folder = build.fold_output(|| format!("stage{}-test", compiler.stage));
println!("Checking test artifacts ({} -> {})", &compiler.host, target);
let out_dir = build.stage_out(compiler, Mode::Libtest);
build.clear_if_dirty(&out_dir, &libstd_stamp(build, compiler, target));
let mut cargo = builder.cargo(compiler, Mode::Libtest, target, "check");
test_cargo(build, &compiler, target, &mut cargo);

let _folder = build.fold_output(|| format!("stage{}-test", compiler.stage));
println!("Checking test artifacts ({} -> {})", &compiler.host, target);
run_cargo(build,
&mut cargo,
&libtest_stamp(build, compiler, target),
true);

let libdir = builder.sysroot_libdir(compiler, target);
add_to_sysroot(&libdir, &libtest_stamp(build, compiler, target));
}
Expand Down
27 changes: 14 additions & 13 deletions src/bootstrap/compile.rs
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,6 @@ impl Step for Std {
return;
}

let _folder = build.fold_output(|| format!("stage{}-std", compiler.stage));
println!("Building stage{} std artifacts ({} -> {})", compiler.stage,
&compiler.host, target);

if target.contains("musl") {
let libdir = builder.sysroot_libdir(compiler, target);
copy_musl_third_party_objects(build, target, &libdir);
Expand All @@ -106,6 +102,10 @@ impl Step for Std {
build.clear_if_dirty(&out_dir, &builder.rustc(compiler));
let mut cargo = builder.cargo(compiler, Mode::Libstd, target, "build");
std_cargo(builder, &compiler, target, &mut cargo);

let _folder = build.fold_output(|| format!("stage{}-std", compiler.stage));
println!("Building stage{} std artifacts ({} -> {})", compiler.stage,
&compiler.host, target);
run_cargo(build,
&mut cargo,
&libstd_stamp(build, compiler, target),
Expand Down Expand Up @@ -360,13 +360,14 @@ impl Step for Test {
return;
}

let _folder = build.fold_output(|| format!("stage{}-test", compiler.stage));
println!("Building stage{} test artifacts ({} -> {})", compiler.stage,
&compiler.host, target);
let out_dir = build.stage_out(compiler, Mode::Libtest);
build.clear_if_dirty(&out_dir, &libstd_stamp(build, compiler, target));
let mut cargo = builder.cargo(compiler, Mode::Libtest, target, "build");
test_cargo(build, &compiler, target, &mut cargo);

let _folder = build.fold_output(|| format!("stage{}-test", compiler.stage));
println!("Building stage{} test artifacts ({} -> {})", compiler.stage,
&compiler.host, target);
run_cargo(build,
&mut cargo,
&libtest_stamp(build, compiler, target),
Expand Down Expand Up @@ -482,16 +483,16 @@ impl Step for Rustc {
target: build.build,
});

let _folder = build.fold_output(|| format!("stage{}-rustc", compiler.stage));
println!("Building stage{} compiler artifacts ({} -> {})",
compiler.stage, &compiler.host, target);

let stage_out = builder.stage_out(compiler, Mode::Librustc);
build.clear_if_dirty(&stage_out, &libstd_stamp(build, compiler, target));
build.clear_if_dirty(&stage_out, &libtest_stamp(build, compiler, target));

let mut cargo = builder.cargo(compiler, Mode::Librustc, target, "build");
rustc_cargo(build, &mut cargo);

let _folder = build.fold_output(|| format!("stage{}-rustc", compiler.stage));
println!("Building stage{} compiler artifacts ({} -> {})",
compiler.stage, &compiler.host, target);
run_cargo(build,
&mut cargo,
&librustc_stamp(build, compiler, target),
Expand Down Expand Up @@ -634,8 +635,6 @@ impl Step for CodegenBackend {
.arg(build.src.join("src/librustc_trans/Cargo.toml"));
rustc_cargo_env(build, &mut cargo);

let _folder = build.fold_output(|| format!("stage{}-rustc_trans", compiler.stage));

match &*self.backend {
"llvm" | "emscripten" => {
// Build LLVM for our target. This will implicitly build the
Expand Down Expand Up @@ -685,6 +684,8 @@ impl Step for CodegenBackend {

let tmp_stamp = build.cargo_out(compiler, Mode::Librustc, target)
.join(".tmp.stamp");

let _folder = build.fold_output(|| format!("stage{}-rustc_trans", compiler.stage));
let files = run_cargo(build,
cargo.arg("--features").arg(features),
&tmp_stamp,
Expand Down
70 changes: 62 additions & 8 deletions src/bootstrap/dist.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ impl Step for Docs {

let dst = image.join("share/doc/rust/html");
t!(fs::create_dir_all(&dst));
let src = build.out.join(host).join("doc");
let src = build.doc_out(host);
cp_r(&src, &dst);

let mut cmd = rust_installer(builder);
Expand All @@ -120,14 +120,69 @@ impl Step for Docs {
build.run(&mut cmd);
t!(fs::remove_dir_all(&image));

// As part of this step, *also* copy the docs directory to a directory which
// buildbot typically uploads.
if host == build.build {
let dst = distdir(build).join("doc").join(build.rust_package_vers());
t!(fs::create_dir_all(&dst));
cp_r(&src, &dst);
distdir(build).join(format!("{}-{}.tar.gz", name, host))
}
}

#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct RustcDocs {
pub stage: u32,
pub host: Interned<String>,
}

impl Step for RustcDocs {
type Output = PathBuf;
const DEFAULT: bool = true;

fn should_run(run: ShouldRun) -> ShouldRun {
run.path("src/librustc")
}

fn make_run(run: RunConfig) {
run.builder.ensure(RustcDocs {
stage: run.builder.top_stage,
host: run.target,
});
}

/// Builds the `rustc-docs` installer component.
fn run(self, builder: &Builder) -> PathBuf {
let build = builder.build;
let host = self.host;

let name = pkgname(build, "rustc-docs");

println!("Dist compiler docs ({})", host);
if !build.config.compiler_docs {
println!("\tskipping - compiler docs disabled");
return distdir(build).join(format!("{}-{}.tar.gz", name, host));
}

builder.default_doc(None);

let image = tmpdir(build).join(format!("{}-{}-image", name, host));
let _ = fs::remove_dir_all(&image);

let dst = image.join("share/doc/rust/html");
t!(fs::create_dir_all(&dst));
let src = build.compiler_doc_out(host);
cp_r(&src, &dst);

let mut cmd = rust_installer(builder);
cmd.arg("generate")
.arg("--product-name=Rustc-Documentation")
.arg("--rel-manifest-dir=rustlib")
.arg("--success-message=Rustc-documentation-is-installed.")
.arg("--image-dir").arg(&image)
.arg("--work-dir").arg(&tmpdir(build))
.arg("--output-dir").arg(&distdir(build))
.arg(format!("--package-name={}-{}", name, host))
.arg("--component-name=rustc-docs")
.arg("--legacy-manifest-dirs=rustlib,cargo")
.arg("--bulk-dirs=share/doc/rust/html");
build.run(&mut cmd);
t!(fs::remove_dir_all(&image));

distdir(build).join(format!("{}-{}.tar.gz", name, host))
}
}
Expand Down Expand Up @@ -1186,7 +1241,6 @@ impl Step for Rustfmt {
let build = builder.build;
let stage = self.stage;
let target = self.target;
assert!(build.config.extended);

println!("Dist Rustfmt stage{} ({})", stage, target);
let src = build.src.join("src/tools/rustfmt");
Expand Down
Loading