-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Some num tests fail for {i586, i686, x86_64}-unknown-linux-gnu #46948
Comments
CC #53081 |
I don't see how this is related to #53081. Retested with latest nightly:
Release mode works fine for i686, x86_64 works fine regardless the mode. Separated the only two cases which are failing: use std::f32;
use std::f64;
fn f32_bug() {
let masked_nan2 = f32::NAN.to_bits() ^ 0x0055_5555;
assert_eq!(f32::from_bits(masked_nan2).to_bits(), masked_nan2);
}
fn f64_bug() {
let masked_nan1 = f64::NAN.to_bits() ^ 0x000A_AAAA_AAAA_AAAA;
assert_eq!(f64::from_bits(masked_nan1).to_bits(), masked_nan1);
} |
Misread the context while triaging. Sorry for the noise. |
Teach `compiletest` to ignore platform triples The UI tests are written assuming `--remap-path-prefix` is *not used* (`remap-debuginfo` in `config.toml`). The consequence is that the error messages may include paths and snippets into the standard library. When `remap-debuginfo` is enabled, these messages change in format and structure because `rustc` will not show paths and snippets into the standard library. This normally isn't a problem for the "main" platforms (linux/macos/windows), because the CI infrastructure is set up so that the tests run without `remap-debuginfo`, but the `dist` artifacts are built separately with `remap-debuginfo` enabled. However, some of the lower-tier platforms perform both tests and distribution in a single step with `remap-debuginfo` enabled. This also affects developers and distributors who use `remap-debuginfo`. To sidestep this problem, we add a way to ignore tests in specific platform triples, and update the overly broad `ignore-x86` rule in affected tests. Address rust-lang#46948, rust-lang#54546, rust-lang#53081.
Teach `compiletest` to ignore platform triples The UI tests are written assuming `--remap-path-prefix` is *not used* (`remap-debuginfo` in `config.toml`). The consequence is that the error messages may include paths and snippets into the standard library. When `remap-debuginfo` is enabled, these messages change in format and structure because `rustc` will not show paths and snippets into the standard library. This normally isn't a problem for the "main" platforms (linux/macos/windows), because the CI infrastructure is set up so that the tests run without `remap-debuginfo`, but the `dist` artifacts are built separately with `remap-debuginfo` enabled. However, some of the lower-tier platforms perform both tests and distribution in a single step with `remap-debuginfo` enabled. This also affects developers and distributors who use `remap-debuginfo`. To sidestep this problem, we add a way to ignore tests in specific platform triples, and update the overly broad `ignore-x86` rule in affected tests. Address #46948, #54546, #53081.
The issue title says:
However the text seems to say that this always works on x86_64 (and checking it on the playground, it does work right now). I'm also not aware of floating-point trouble on x86_64. So indeed I assume this is a duplicate of #73288, now tracked as #115567. |
Consider the following tests extract from libstd:
Using
rustc 1.24.0-nightly (250b49205 2017-12-21)
it fails in debug mode for the targets{i586, i686}-unknown-linux-gnu
but works in release mode. It works in both release and debug mode forx86_64-unknown-linux-gnu
.Using
rustc 1.23.0-beta.2 (c9107ee93 2017-12-08)
orrustc 1.22.1 (05e2e1c41 2017-11-22)
onlytests::test_mul_add
works in release mode for{i586, i686, x86_64}-unknown-linux-gnu
. For debug mode all tests fails for{i586, i686}-unknown-linux-gnu
,tests::test_mul_add
worksfor x86_64-unknown-linux-gnu
.The text was updated successfully, but these errors were encountered: