Skip to content
Closed
Changes from 3 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
b4d64b7
Initialize LLVM's AMDGPU target machine, if available.
DiamondLovesYou Jun 14, 2018
7015dfd
Add read_exact_at and write_all_at methods to FileExt on unix
drrlvn Jun 26, 2018
011eaed
factor built-in attribute parsing into submodule
euclio Jun 30, 2018
f315943
move deprecation-sanity test to ui
euclio Jun 30, 2018
5468e12
add label to unknown meta item error
euclio Jun 30, 2018
de2ecea
Provide llvm-strip in llvm-tools component
crlf0710 Jul 1, 2018
e89db30
Do not suggest changes to str literal if it isn't one
estebank Jul 2, 2018
6e5b9c1
Get rid of `TyImplTraitExistential`
oli-obk Jun 29, 2018
75a6fde
Update rustdoc
oli-obk Jul 2, 2018
3779a4c
Emit column info in debuginfo for non msvc like targets
est31 Jul 2, 2018
79d8d08
incr.comp.: Take names of children into account when computing the IC…
michaelwoerister Jul 2, 2018
73166f7
Fill in tracking issue number for read_exact_at/write_all_at
drrlvn Jul 2, 2018
59f2edb
add outlives annotations to `BTreeMap`
nikomatsakis Feb 20, 2018
ddc1d29
bootstrap: tests should use rustc from config.toml
mnd Jul 1, 2018
29851ba
add entry for cargo-metadata feature to RELEASES
euclio Jul 2, 2018
9797665
Make Stdio handle UnwindSafe
estk Jul 1, 2018
f5570d0
Make explicit that assemble is not run from CLI
Mark-Simulacrum Jul 2, 2018
d914574
Fix the tool's path in toolstate verification.
kennytm Jul 2, 2018
20231d7
Fixed detection of test-fail for doctests.
kennytm Jul 2, 2018
689cffa
Run "tools" job on PR when commit message starts with "Update RLS/mir…
kennytm Jul 2, 2018
9eda4aa
Change --keep-stage to apply more
Mark-Simulacrum Jul 2, 2018
447f1f3
Avoid sorting the item_ids array the StableHash impl of hir::Mod.
michaelwoerister Jul 3, 2018
f1c7255
Rollup merge of #51548 - DiamondLovesYou:amdgpu-target-machine, r=ale…
pietroalbini Jul 3, 2018
80016fd
Rollup merge of #51809 - drrlvn:rw_exact_all_at, r=alexcrichton
pietroalbini Jul 3, 2018
f678fac
Rollup merge of #51914 - nikomatsakis:nll-fix-issue-issue-btreemap-an…
pietroalbini Jul 3, 2018
855436f
Rollup merge of #51958 - euclio:attr-refactor, r=petrochenkov
pietroalbini Jul 3, 2018
33b065d
Rollup merge of #51962 - crlf0710:patch-2, r=alexcrichton
pietroalbini Jul 3, 2018
ce8f206
Rollup merge of #51973 - estk:master, r=abonander
pietroalbini Jul 3, 2018
bed04c1
Rollup merge of #51977 - mnd:fix-bootstrap-test-with-local-stage0, r=…
pietroalbini Jul 3, 2018
2c2ab84
Rollup merge of #51978 - estebank:issue-48364, r=oli-obk
pietroalbini Jul 3, 2018
fe668b9
Rollup merge of #51979 - oli-obk:lowering_cleanups4, r=nikomatsakis
pietroalbini Jul 3, 2018
c7a0996
Rollup merge of #51980 - est31:columns, r=alexcrichton
pietroalbini Jul 3, 2018
2346398
Rollup merge of #51982 - michaelwoerister:hash-modules-properly, r=ni…
pietroalbini Jul 3, 2018
ef356d6
Rollup merge of #51997 - euclio:release-notes, r=Aaronepower
pietroalbini Jul 3, 2018
09ba8fb
Rollup merge of #52004 - kennytm:toolstate-fixes, r=Mark-Simulacrum
pietroalbini Jul 3, 2018
59931c6
Rollup merge of #52006 - Mark-Simulacrum:keep-stage-fix, r=alexcrichton
pietroalbini Jul 3, 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
65 changes: 44 additions & 21 deletions src/bootstrap/compile.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ use std::io::prelude::*;
use std::path::{Path, PathBuf};
use std::process::{Command, Stdio};
use std::str;
use std::cmp::min;

use build_helper::{output, mtime, up_to_date};
use filetime::FileTime;
Expand Down Expand Up @@ -68,6 +67,18 @@ impl Step for Std {
let target = self.target;
let compiler = self.compiler;

if let Some(keep_stage) = builder.config.keep_stage {
if keep_stage <= compiler.stage {
println!("Warning: Using a potentially old libstd. This may not behave well.");
builder.ensure(StdLink {
compiler: compiler,
target_compiler: compiler,
target,
});
return;
}
}

builder.ensure(StartupObjects { compiler, target });

if builder.force_use_stage1(compiler, target) {
Expand Down Expand Up @@ -351,6 +362,18 @@ impl Step for Test {
let target = self.target;
let compiler = self.compiler;

if let Some(keep_stage) = builder.config.keep_stage {
if keep_stage <= compiler.stage {
println!("Warning: Using a potentially old libtest. This may not behave well.");
builder.ensure(TestLink {
compiler: compiler,
target_compiler: compiler,
target,
});
return;
}
}

builder.ensure(Std { compiler, target });

if builder.force_use_stage1(compiler, target) {
Expand Down Expand Up @@ -467,6 +490,18 @@ impl Step for Rustc {
let compiler = self.compiler;
let target = self.target;

if let Some(keep_stage) = builder.config.keep_stage {
if keep_stage <= compiler.stage {
println!("Warning: Using a potentially old librustc. This may not behave well.");
builder.ensure(RustcLink {
compiler: compiler,
target_compiler: compiler,
target,
});
return;
}
}

builder.ensure(Test { compiler, target });

if builder.force_use_stage1(compiler, target) {
Expand Down Expand Up @@ -873,7 +908,7 @@ impl Step for Assemble {
type Output = Compiler;

fn should_run(run: ShouldRun) -> ShouldRun {
run.all_krates("rustc-main")
run.never()
}

/// Prepare a new compiler from the artifacts in `stage`
Expand Down Expand Up @@ -915,28 +950,16 @@ impl Step for Assemble {
// link to these. (FIXME: Is that correct? It seems to be correct most
// of the time but I think we do link to these for stage2/bin compilers
// when not performing a full bootstrap).
if builder.config.keep_stage.map_or(false, |s| target_compiler.stage <= s) {
builder.verbose("skipping compilation of compiler due to --keep-stage");
let compiler = build_compiler;
for stage in 0..min(target_compiler.stage, builder.config.keep_stage.unwrap()) {
let target_compiler = builder.compiler(stage, target_compiler.host);
let target = target_compiler.host;
builder.ensure(StdLink { compiler, target_compiler, target });
builder.ensure(TestLink { compiler, target_compiler, target });
builder.ensure(RustcLink { compiler, target_compiler, target });
}
} else {
builder.ensure(Rustc {
builder.ensure(Rustc {
compiler: build_compiler,
target: target_compiler.host,
});
for &backend in builder.config.rust_codegen_backends.iter() {
builder.ensure(CodegenBackend {
compiler: build_compiler,
target: target_compiler.host,
backend,
});
for &backend in builder.config.rust_codegen_backends.iter() {
builder.ensure(CodegenBackend {
compiler: build_compiler,
target: target_compiler.host,
backend,
});
}
}

let lld_install = if builder.config.lld_enabled {
Expand Down