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 21 pull requests #49337

Merged
merged 69 commits into from
Mar 24, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
aaac69f
Fix Issue #48345, is_file, is_dir, and is_symlink note mutual exclusion
Mar 16, 2018
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
efa9016
Add a CI job for parallel rustc using x.py check
Zoxc Mar 17, 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
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
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
5201e7c
document format_args! behavior wrt. Display and Debug
Centril Mar 21, 2018
afff64e
document format_args! further wrt. Debug & Display"
Centril 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
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
613fb8b
document format_args! - fix trailing whitespace
Centril Mar 22, 2018
a1a3bf2
Fix DefKey lookup for proc-macro crates.
michaelwoerister Mar 22, 2018
9839e5f
Remove slow HashSet during miri stack frame creation
oli-obk Mar 22, 2018
9fa14e4
Skip checking for Storage* statements in constants/statics
oli-obk 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
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
ee67e14
Stabilize the copy_closures and clone_closures features
SimonSapin Mar 23, 2018
f9019ae
Simplify local accessors
oli-obk Mar 23, 2018
00721de
Mention closures in docs for Clone and Copy
SimonSapin Mar 23, 2018
1efe0b3
Rename variables in rustc’s SelectionContext::copy_clone_conditions
SimonSapin Mar 23, 2018
90588a9
Fix IE11 search
GuillaumeGomez Mar 23, 2018
700fd5a
Remove getopts leftover from tree
Mark-Simulacrum Mar 23, 2018
3bfed9e
Better diagnostics for '..' pattern fragment not in the last position
ordovicia Mar 22, 2018
f8fc5c0
Fix error annotations in test
ordovicia Mar 22, 2018
3d0ccb2
Fix test for PR #49268
ordovicia Mar 23, 2018
36322d0
update books for next release
steveklabnik Mar 23, 2018
9c5f372
Rollup merge of #49046 - Zoxc:error-summary, r=michaelwoerister
kennytm Mar 24, 2018
17d39ed
Rollup merge of #49076 - bobdavelisafrank:filetype-metadata-docfix, r…
kennytm Mar 24, 2018
23b4bf9
Rollup merge of #49089 - alexcrichton:fix-timings, r=Mark-Simulacrum
kennytm Mar 24, 2018
c5264a5
Rollup merge of #49120 - Zoxc:parallel-ci, r=alexcrichton
kennytm Mar 24, 2018
adb7984
Rollup merge of #49121 - varkor:stabilise-from_utf8_error_as_bytes, r…
kennytm Mar 24, 2018
c892e68
Rollup merge of #49122 - scottmcm:z-align-attr, r=cramertj
kennytm Mar 24, 2018
8d57071
Rollup merge of #49162 - tmandry:stabilize-termination-trait, r=nikom…
kennytm Mar 24, 2018
311814a
Rollup merge of #49193 - davidtwco:issue-29893, r=alexcrichton
kennytm Mar 24, 2018
e2b8922
Rollup merge of #49194 - Zoxc:unsafe-generator, r=cramertj
kennytm Mar 24, 2018
2bd27c9
Rollup merge of #49203 - Eijebong:lets-cleanup-dependencies, r=Mark-S…
kennytm Mar 24, 2018
8c1535f
Rollup merge of #49229 - Centril:doc/format_args_display_debug, r=ste…
kennytm Mar 24, 2018
23967c3
Rollup merge of #49235 - topecongiro:run-rustfmt/libtest, r=nrc
kennytm Mar 24, 2018
88277f5
Rollup merge of #49254 - Tacklebox:atan2_doc, r=QuietMisdreavus
kennytm Mar 24, 2018
3bc81f7
Rollup merge of #49268 - ordovicia:dotdot-pattern-diag, r=petrochenkov
kennytm Mar 24, 2018
2b2f916
Rollup merge of #49273 - michaelwoerister:fix-extern-proc-macro-defke…
kennytm Mar 24, 2018
924f24a
Rollup merge of #49274 - oli-obk:slow_miri, r=michaelwoerister,eddyb
kennytm Mar 24, 2018
177e20d
Rollup merge of #49290 - cuviper:unextended-dist-rustfmt, r=nikomatsakis
kennytm Mar 24, 2018
2580edf
Rollup merge of #49312 - GuillaumeGomez:fix-ie11-search, r=QuietMisdr…
kennytm Mar 24, 2018
3d68959
Rollup merge of #49314 - Mark-Simulacrum:remove-getopts, r=alexcrichton
kennytm Mar 24, 2018
5454451
Rollup merge of #49318 - steveklabnik:update-books, r=kennytm
kennytm Mar 24, 2018
297a6e5
Rollup merge of #49299 - SimonSapin:ubiquity, r=nikomatsakis
kennytm 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
3 changes: 3 additions & 0 deletions config.toml.example
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,9 @@
# Whether or not `panic!`s generate backtraces (RUST_BACKTRACE)
#backtrace = true

# Build rustc with experimental parallelization
#experimental-parallel-queries = false

# The default linker that will be hard-coded into the generated compiler for
# targets that don't specify linker explicitly in their target specifications.
# Note that this is not the linker used to link said compiler.
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
1 change: 1 addition & 0 deletions src/bootstrap/configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ def v(*args):
o("docs", "build.docs", "build standard library documentation")
o("compiler-docs", "build.compiler-docs", "build compiler documentation")
o("optimize-tests", "rust.optimize-tests", "build tests with optimizations")
o("experimental-parallel-queries", "rust.experimental-parallel-queries", "build rustc with experimental parallelization")
o("test-miri", "rust.test-miri", "run miri's test suite")
o("debuginfo-tests", "rust.debuginfo-tests", "build tests with debugger metadata")
o("quiet-tests", "rust.quiet-tests", "enable quieter output when running tests")
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