u-mips-fixes
authorDebian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Sun, 16 Dec 2018 22:34:44 +0000 (22:34 +0000)
committerXimin Luo <infinity0@debian.org>
Sun, 16 Dec 2018 22:34:44 +0000 (22:34 +0000)
Gbp-Pq: Name u-mips-fixes.diff

src/librustc_codegen_llvm/llvm_util.rs
src/test/run-pass/invalid_const_promotion.rs
src/test/ui/asm/asm-out-assign-imm.nll.stderr
src/test/ui/asm/asm-out-assign-imm.rs
src/test/ui/asm/asm-out-assign-imm.stderr

index 0a80fdddbf9fdb4197d3b0b2f937a47e2c423a18..63ea661c07076e6064482a20c00b37bec1e88712 100644 (file)
@@ -71,6 +71,9 @@ unsafe fn configure_llvm(sess: &Session) {
             add("-disable-preinline");
         }
 
+    if sess.target.target.arch == "mips" ||
+        sess.target.target.arch == "mips64" { add("-fast-isel=0"); }
+
         for arg in &sess.opts.cg.llvm_args {
             add(&(*arg));
         }
index ed8c4992417afee758adbb250518fd7d3653eb7e..6b615bc8d2e95a7d5582956dfc5fe80a78ceb3eb 100644 (file)
@@ -39,7 +39,8 @@ fn check_status(status: std::process::ExitStatus)
     use std::os::unix::process::ExitStatusExt;
 
     assert!(status.signal() == Some(libc::SIGILL)
-            || status.signal() == Some(libc::SIGABRT));
+            || status.signal() == Some(libc::SIGABRT)
+            || status.signal() == Some(libc::SIGTRAP));
 }
 
 #[cfg(not(unix))]
index 40a36dd895f772b9b82b217f2004418f1029188b..ca5b132350731b95ec1cbb3b73164a1df62a8ccf 100644 (file)
@@ -1,5 +1,5 @@
 error[E0384]: cannot assign twice to immutable variable `x`
-  --> $DIR/asm-out-assign-imm.rs:34:34
+  --> $DIR/asm-out-assign-imm.rs:36:34
    |
 LL |     let x: isize;
    |         - help: make this binding mutable: `mut x`
index 73143f1154631be50106dbf82ee28d79e985a0f7..cf7a2a0cfd49126605df5b189266f8de4295a3cd 100644 (file)
@@ -10,6 +10,8 @@
 
 // ignore-s390x
 // ignore-emscripten
+// ignore-mips
+// ignore-mips64
 // ignore-powerpc
 // ignore-powerpc64
 // ignore-powerpc64le
index 51933cac39692003261bc72e51121fe5c3b78648..02f5f3f8e3542245eda2417dcbc9690754ad901a 100644 (file)
@@ -1,5 +1,5 @@
 error[E0384]: cannot assign twice to immutable variable `x`
-  --> $DIR/asm-out-assign-imm.rs:34:34
+  --> $DIR/asm-out-assign-imm.rs:36:34
    |
 LL |     x = 1;
    |     ----- first assignment to `x`