summary refs log tree commit diff
path: root/src/librustc_codegen_llvm
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-03-25 09:05:00 +0000
committerbors <bors@rust-lang.org>2019-03-25 09:05:00 +0000
commit3f36ac4e835dfa0af77d5261a444a674ec9da3a5 (patch)
tree2a7f9b1a0749ac5f62e2b70c2840dd5d2bb1c82c /src/librustc_codegen_llvm
parent60eca54a7ce931c590801048f54ac0b2d2cd5067 (diff)
parent4728433c9ec07814b15868cb092afa2d60963cee (diff)
downloadrust-3f36ac4e835dfa0af77d5261a444a674ec9da3a5.tar.gz
rust-3f36ac4e835dfa0af77d5261a444a674ec9da3a5.zip
Auto merge of #59242 - euclio:asm-ice, r=nagisa
make asm diagnostic instruction optional

`DiagnosticInfoInlineAsm::getInstruction` may return a null pointer, so
the instruction shouldn't be blindly unwrapped.

Reopening from #55193. I was unable to trigger the assertion on Windows after rebasing.

Fixes #23458.
Fixes #55216.
Diffstat (limited to 'src/librustc_codegen_llvm')
-rw-r--r--src/librustc_codegen_llvm/llvm/diagnostic.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/librustc_codegen_llvm/llvm/diagnostic.rs b/src/librustc_codegen_llvm/llvm/diagnostic.rs
index a8d272f157c..04e65ac4233 100644
--- a/src/librustc_codegen_llvm/llvm/diagnostic.rs
+++ b/src/librustc_codegen_llvm/llvm/diagnostic.rs
@@ -88,7 +88,7 @@ impl OptimizationDiagnostic<'ll> {
 pub struct InlineAsmDiagnostic<'ll> {
     pub cookie: c_uint,
     pub message: &'ll Twine,
-    pub instruction: &'ll Value,
+    pub instruction: Option<&'ll Value>,
 }
 
 impl InlineAsmDiagnostic<'ll> {
@@ -107,7 +107,7 @@ impl InlineAsmDiagnostic<'ll> {
         InlineAsmDiagnostic {
             cookie,
             message: message.unwrap(),
-            instruction: instruction.unwrap(),
+            instruction,
         }
     }
 }