diff options
| author | bors <bors@rust-lang.org> | 2022-02-04 14:33:00 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-02-04 14:33:00 +0000 |
| commit | cb18e83e8512be69b26fcb67ae66d81e5b7a4383 (patch) | |
| tree | 66c8c85ce1055300fb81783ae74a5ec3f605714b /compiler/rustc_codegen_llvm/src | |
| parent | 4e8fb743ccbec27344b2dd42de7057f41d4ebfdd (diff) | |
| parent | 1426f0e6f03d64902ac75a47eba800cbf82d7d41 (diff) | |
| download | rust-cb18e83e8512be69b26fcb67ae66d81e5b7a4383.tar.gz rust-cb18e83e8512be69b26fcb67ae66d81e5b7a4383.zip | |
Auto merge of #93645 - matthiaskrgr:rollup-eua2621, r=matthiaskrgr
Rollup of 11 pull requests Successful merges: - #92735 (Add crate filter parameter in URL) - #93402 (Windows: Disable LLVM crash dialog boxes.) - #93508 (Add rustdoc info to jsondocck output) - #93551 (Add package.json in gitignore) - #93555 (Link `try_exists` docs to `Path::exists`) - #93585 (Missing tests for #92630) - #93593 (Fix ret > 1 bound if shadowed by const) - #93630 (clippy::perf fixes) - #93631 (rustc_mir_dataflow: use iter::once instead of Some().into_iter) - #93632 (rustdoc: clippy::complexity fixes) - #93638 (rustdoc: remove unused Hash impl) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/back/archive.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/llvm/ffi.rs | 1 | ||||
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/llvm_util.rs | 6 |
3 files changed, 8 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_llvm/src/back/archive.rs b/compiler/rustc_codegen_llvm/src/back/archive.rs index 5703a72c686..8a1dea4d99b 100644 --- a/compiler/rustc_codegen_llvm/src/back/archive.rs +++ b/compiler/rustc_codegen_llvm/src/back/archive.rs @@ -219,7 +219,7 @@ impl<'a> ArchiveBuilder<'a> for LlvmArchiveBuilder<'a> { match result { Err(e) => { - self.config.sess.fatal(&format!("Error calling dlltool: {}", e.to_string())); + self.config.sess.fatal(&format!("Error calling dlltool: {}", e)); } Ok(output) if !output.status.success() => self.config.sess.fatal(&format!( "Dlltool could not create import library: {}\n{}", diff --git a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs index 2b102188790..367c86a1dc9 100644 --- a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs +++ b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs @@ -987,6 +987,7 @@ pub type SelfProfileAfterPassCallback = unsafe extern "C" fn(*mut c_void); extern "C" { pub fn LLVMRustInstallFatalErrorHandler(); + pub fn LLVMRustDisableSystemDialogsOnCrash(); // Create and destroy contexts. pub fn LLVMRustContextCreate(shouldDiscardNames: bool) -> &'static mut Context; diff --git a/compiler/rustc_codegen_llvm/src/llvm_util.rs b/compiler/rustc_codegen_llvm/src/llvm_util.rs index d49df29f453..f91fad2d9c9 100644 --- a/compiler/rustc_codegen_llvm/src/llvm_util.rs +++ b/compiler/rustc_codegen_llvm/src/llvm_util.rs @@ -46,6 +46,12 @@ unsafe fn configure_llvm(sess: &Session) { let mut llvm_args = Vec::with_capacity(n_args + 1); llvm::LLVMRustInstallFatalErrorHandler(); + // On Windows, an LLVM assertion will open an Abort/Retry/Ignore dialog + // box for the purpose of launching a debugger. However, on CI this will + // cause it to hang until it times out, which can take several hours. + if std::env::var_os("CI").is_some() { + llvm::LLVMRustDisableSystemDialogsOnCrash(); + } fn llvm_arg_to_arg_name(full_arg: &str) -> &str { full_arg.trim().split(|c: char| c == '=' || c.is_whitespace()).next().unwrap_or("") |
