add rust.break-on-ice to bootstrap.toml
This commit is contained in:
parent
75ee9ffd5e
commit
768dcbecdd
5 changed files with 18 additions and 2 deletions
|
|
@ -856,6 +856,9 @@
|
|||
# as libstd features, this option can also be used to configure features such as optimize_for_size.
|
||||
#rust.std-features = ["panic_unwind"]
|
||||
|
||||
# Trigger a `DebugBreak` after an internal compiler error during bootstrap on Windows
|
||||
#rust.break-on-ice = true
|
||||
|
||||
# =============================================================================
|
||||
# Distribution options
|
||||
#
|
||||
|
|
|
|||
|
|
@ -877,8 +877,11 @@ impl Builder<'_> {
|
|||
.env("RUSTC_LIBDIR", libdir)
|
||||
.env("RUSTDOC", self.bootstrap_out.join("rustdoc"))
|
||||
.env("RUSTDOC_REAL", rustdoc_path)
|
||||
.env("RUSTC_ERROR_METADATA_DST", self.extended_error_dir())
|
||||
.env("RUSTC_BREAK_ON_ICE", "1");
|
||||
.env("RUSTC_ERROR_METADATA_DST", self.extended_error_dir());
|
||||
|
||||
if self.config.rust_break_on_ice {
|
||||
cargo.env("RUSTC_BREAK_ON_ICE", "1");
|
||||
}
|
||||
|
||||
// Set RUSTC_WRAPPER to the bootstrap shim, which switches between beta and in-tree
|
||||
// sysroot depending on whether we're building build scripts.
|
||||
|
|
|
|||
|
|
@ -221,6 +221,7 @@ pub struct Config {
|
|||
pub rust_lto: RustcLto,
|
||||
pub rust_validate_mir_opts: Option<u32>,
|
||||
pub rust_std_features: BTreeSet<String>,
|
||||
pub rust_break_on_ice: bool,
|
||||
pub llvm_profile_use: Option<String>,
|
||||
pub llvm_profile_generate: bool,
|
||||
pub llvm_libunwind_default: Option<LlvmLibunwind>,
|
||||
|
|
@ -550,6 +551,7 @@ impl Config {
|
|||
strip: rust_strip,
|
||||
lld_mode: rust_lld_mode,
|
||||
std_features: rust_std_features,
|
||||
break_on_ice: rust_break_on_ice,
|
||||
} = toml.rust.unwrap_or_default();
|
||||
|
||||
let Llvm {
|
||||
|
|
@ -1269,6 +1271,7 @@ impl Config {
|
|||
reproducible_artifacts: flags_reproducible_artifact,
|
||||
reuse: build_reuse.map(PathBuf::from),
|
||||
rust_analyzer_info,
|
||||
rust_break_on_ice: rust_break_on_ice.unwrap_or(true),
|
||||
rust_codegen_backends: rust_codegen_backends
|
||||
.map(|backends| parse_codegen_backends(backends, "rust"))
|
||||
.unwrap_or(vec![CodegenBackendKind::Llvm]),
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ define_config! {
|
|||
lto: Option<String> = "lto",
|
||||
validate_mir_opts: Option<u32> = "validate-mir-opts",
|
||||
std_features: Option<BTreeSet<String>> = "std-features",
|
||||
break_on_ice: Option<bool> = "break-on-ice",
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -355,6 +356,7 @@ pub fn check_incompatible_options_for_ci_rustc(
|
|||
download_rustc: _,
|
||||
validate_mir_opts: _,
|
||||
frame_pointers: _,
|
||||
break_on_ice: _,
|
||||
} = ci_rust_config;
|
||||
|
||||
// There are two kinds of checks for CI rustc incompatible options:
|
||||
|
|
|
|||
|
|
@ -536,4 +536,9 @@ pub const CONFIG_CHANGE_HISTORY: &[ChangeInfo] = &[
|
|||
severity: ChangeSeverity::Warning,
|
||||
summary: "It is no longer possible to `x test` with stage 0, except for running compiletest and opting into `build.compiletest-allow-stage0`.",
|
||||
},
|
||||
ChangeInfo {
|
||||
change_id: 145976,
|
||||
severity: ChangeSeverity::Info,
|
||||
summary: "Added a new option `rust.break-on-ice` to control if internal compiler errors cause a debug break on Windows.",
|
||||
},
|
||||
];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue