diff --git a/src/test/run-pass/backtrace.rs b/src/test/run-pass/backtrace.rs
index 3fb52f8c8b4..2a98706351a 100644
--- a/src/test/run-pass/backtrace.rs
+++ b/src/test/run-pass/backtrace.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#![feature(rustc_attrs)]
+
 // no-pretty-expanded FIXME #15189
 // ignore-android FIXME #17520
 // compile-flags:-g
@@ -16,6 +18,8 @@ use std::env;
 use std::process::{Command, Stdio};
 use std::str;
 
+// FIXME #31005 MIR missing debuginfo currently.
+#[cfg_attr(target_env = "msvc", rustc_no_mir)]
 #[inline(never)]
 fn foo() {
     let _v = vec![1, 2, 3];
@@ -24,6 +28,8 @@ fn foo() {
     }
 }
 
+// FIXME #31005 MIR missing debuginfo currently.
+#[cfg_attr(target_env = "msvc", rustc_no_mir)]
 #[inline(never)]
 fn double() {
     struct Double;