Disable quickcheck tests on mips

Two reasons:
    * the C versions __divti3 and __modti3 are apparently broken,
      at least when used in quickcheck. They change their own arguments.
    * compiler_rt's support for mips is disabled already on clang [1].
      Its desireable to support working "cargo test" on that compiler
      as well, and not greet the tester with linker errors.

[1]: http://llvm.org/viewvc/llvm-project?view=revision&revision=224488
This commit is contained in:
est31 2017-02-04 12:17:04 +01:00
parent f8a4e3fd70
commit 37d349015e
5 changed files with 21 additions and 6 deletions

View File

@ -58,7 +58,10 @@ declare!(___adddf3, __adddf3);
declare!(___powisf2, __powisf2); declare!(___powisf2, __powisf2);
declare!(___powidf2, __powidf2); declare!(___powidf2, __powidf2);
#[cfg(all(not(windows), target_pointer_width="64"))] #[cfg(all(not(windows),
not(target_arch = "mips64"),
not(target_arch = "mips64el"),
target_pointer_width="64"))]
pub mod int_128 { pub mod int_128 {
extern { extern {
fn __lshrti3(); fn __lshrti3();

View File

@ -122,7 +122,10 @@ mod tests {
} }
#[cfg(test)] #[cfg(test)]
#[cfg(all(not(windows), target_pointer_width="64"))] #[cfg(all(not(windows),
not(target_arch = "mips64"),
not(target_arch = "mips64el"),
target_pointer_width="64"))]
mod tests_i128 { mod tests_i128 {
use qc::I128; use qc::I128;

View File

@ -164,11 +164,14 @@ mod tests {
} }
#[cfg(test)] #[cfg(test)]
#[cfg(all(not(windows), target_pointer_width="64"))] #[cfg(all(not(windows),
not(target_arch = "mips64"),
not(target_arch = "mips64el"),
target_pointer_width="64"))]
mod tests_i128 { mod tests_i128 {
use qc::U128; use qc::U128;
check! { check! {
fn __divti3(f: extern fn(i128, i128) -> i128, n: U128, d: U128) -> Option<i128> { fn __divti3(f: extern fn(i128, i128) -> i128, n: U128, d: U128) -> Option<i128> {
let (n, d) = (n.0 as i128, d.0 as i128); let (n, d) = (n.0 as i128, d.0 as i128);
if d == 0 { if d == 0 {

View File

@ -105,7 +105,10 @@ mod tests {
} }
#[cfg(test)] #[cfg(test)]
#[cfg(all(not(windows), target_pointer_width="64"))] #[cfg(all(not(windows),
not(target_arch = "mips64"),
not(target_arch = "mips64el"),
target_pointer_width="64"))]
mod tests_i128 { mod tests_i128 {
use qc::{I128, U128}; use qc::{I128, U128};

View File

@ -382,7 +382,10 @@ mod tests {
} }
#[cfg(test)] #[cfg(test)]
#[cfg(all(not(windows), target_pointer_width="64"))] #[cfg(all(not(windows),
not(target_arch = "mips64"),
not(target_arch = "mips64el"),
target_pointer_width="64"))]
mod tests_i128 { mod tests_i128 {
use qc::U128; use qc::U128;