Skip to content

[experiment] reliable float experiments #140424

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 7 commits into from

Conversation

tgross35
Copy link
Contributor

@tgross35 tgross35 commented Apr 29, 2025

Trying a few blocked things based on top of #140323.

r? @ghost

try-job: aarch64-gnu
try-job: i686-gnu-1
try-job: i686-msvc-1
try-job: test-various
try-job: x86_64-gnu
try-job: x86_64-msvc-ext2
try-job: x86_64-gnu-llvm-19-1
try-job: x86_64-gnu-llvm-20-1

tgross35 and others added 5 commits April 27, 2025 19:58
Support for `f16` and `f128` is varied across targets, backends, and
backend versions. Eventually we would like to reach a point where all
backends support these approximately equally, but until then we have to
work around some of these nuances of support being observable.

Introduce the `cfg_target_has_reliable_f16_f128` internal feature, which
provides the following new configuration gates:

* `cfg(target_has_reliable_f16)`
* `cfg(target_has_reliable_f16_math)`
* `cfg(target_has_reliable_f128)`
* `cfg(target_has_reliable_f128_math)`

`reliable_f16` and `reliable_f128` indicate that basic arithmetic for
the type works correctly. The `_math` versions indicate that anything
relying on `libm` works correctly, since sometimes this hits a separate
class of codegen bugs.

These options match configuration set by the build script at [1]. The
logic for LLVM support is duplicated as-is from the same script. There
are a few possible updates that will come as a follow up.

The config introduced here is not planned to ever become stable, it is
only intended to replace the build scripts for `std` tests and
`compiler-builtins` that don't have any way to configure based on the
codegen backend.

MCP: rust-lang/compiler-team#866
Closes: rust-lang/compiler-team#866

[1]: https://github.com/rust-lang/rust/blob/555e1d0386f024a8359645c3217f4b3eae9be042/library/std/build.rs#L84-L186
New compiler configuration has been introduced that is designed to
replace the build script configuration `reliable_f16`, `reliable_f128`,
`reliable_f16_math`, and `reliable_f128_math`. Do this replacement here,
which allows us to clean up `std`'s build script.

All tests are gated by `#[cfg(bootstrap)]` rather than doing a more
complicated `cfg(bootstrap)` / `cfg(not(bootstrap))` split since the
next beta split is within two weeks.
Use the existing Lemire (decimal -> float) and Dragon / Grisu algorithms
(float -> decimal) to add support for `f16`. This allows updating the
implementation for `Display` to the expected behavior for `Display`
(currently it prints the a hex bitwise representation) and adds a
`FromStr` implementation.

(cherry picked from commit 4c57b48)
Extend the existing tests for `f32` and `f64` with versions that include
`f16`'s new printing and parsing implementations.

Co-authored-by: Speedy_Lex <[email protected]>
(cherry picked from commit c4c7d6c)
This requires a fix to the subnormal test to cap the maximum allowed
value within the maximum mantissa.

(cherry picked from commit cb40d2d)
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Apr 29, 2025
@tgross35
Copy link
Contributor Author

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 29, 2025
[experiment] reliable float experiments

Trying a few blocked things based on top of rust-lang#140323.

r? `@ghost`

try-job: aarch64-gnu
try-job: i686-gnu-1
try-job: i686-msvc-1
try-job: test-various
try-job: x86_64-gnu
try-job: x86_64-msvc-ext2
@bors
Copy link
Collaborator

bors commented Apr 29, 2025

⌛ Trying commit e56745d with merge fdb4623...

@tgross35
Copy link
Contributor Author

@bors try

@bors
Copy link
Collaborator

bors commented Apr 29, 2025

⌛ Trying commit e56745d with merge bd15dd1...

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 29, 2025
[experiment] reliable float experiments

Trying a few blocked things based on top of rust-lang#140323.

r? `@ghost`

try-job: x86_64-gnu-llvm-19-1
try-job: x86_64-gnu-llvm-20-1
@rust-log-analyzer

This comment has been minimized.

@tgross35 tgross35 force-pushed the float-experiments branch from e56745d to 67a01a2 Compare April 29, 2025 04:29
@tgross35
Copy link
Contributor Author

@bors try

@bors
Copy link
Collaborator

bors commented Apr 29, 2025

⌛ Trying commit 67a01a2 with merge 03aa404...

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 29, 2025
[experiment] reliable float experiments

Trying a few blocked things based on top of rust-lang#140323.

r? `@ghost`

try-job: aarch64-gnu
try-job: i686-gnu-1
try-job: i686-msvc-1
try-job: test-various
try-job: x86_64-gnu
try-job: x86_64-msvc-ext2
try-job: x86_64-gnu-llvm-19-1
try-job: x86_64-gnu-llvm-20-1
@rust-log-analyzer

This comment has been minimized.

@tgross35 tgross35 force-pushed the float-experiments branch from 67a01a2 to 274bf8f Compare April 29, 2025 04:55
@tgross35
Copy link
Contributor Author

@bors try

@rust-log-analyzer
Copy link
Collaborator

The job test-various failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
file:.git/config remote.origin.url=https://github.com/rust-lang-ci/rust
file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
file:.git/config gc.auto=0
file:.git/config http.https://github.com/.extraheader=AUTHORIZATION: basic ***
file:.git/config branch.try.remote=origin
file:.git/config branch.try.merge=refs/heads/try
file:.git/config submodule.library/backtrace.active=true
file:.git/config submodule.library/backtrace.url=https://github.com/rust-lang/backtrace-rs.git
file:.git/config submodule.library/stdarch.active=true
file:.git/config submodule.library/stdarch.url=https://github.com/rust-lang/stdarch.git
file:.git/config submodule.src/doc/book.active=true
---
   |
13 | #[cfg(target_has_reliable_f16)]
   |       ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
 --> library/coretests/tests/num/dec2flt/float.rs:6:7
  |
6 | #[cfg(target_has_reliable_f16)]
  |       ^^^^^^^^^^^^^^^^^^^^^^^
  |
  = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
  = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/dec2flt/float.rs:59:7
   |
59 | #[cfg(target_has_reliable_f16)]
   |       ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
 --> library/coretests/tests/num/dec2flt/lemire.rs:5:7
  |
5 | #[cfg(target_has_reliable_f16)]
  |       ^^^^^^^^^^^^^^^^^^^^^^^
  |
  = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
  = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/dec2flt/lemire.rs:24:7
   |
24 | #[cfg(target_has_reliable_f16)]
   |       ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/flt2dec/mod.rs:79:7
   |
79 | #[cfg(target_has_reliable_f16)]
   |       ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/mod.rs:186:7
    |
186 | #[cfg(target_has_reliable_f16)]
    |       ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/mod.rs:245:7
    |
245 | #[cfg(target_has_reliable_f16)]
    |       ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/mod.rs:294:7
    |
294 | #[cfg(target_has_reliable_f16)]
    |       ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/mod.rs:643:11
    |
643 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/mod.rs:768:11
    |
768 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/mod.rs:923:11
    |
923 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
    --> library/coretests/tests/num/flt2dec/mod.rs:1222:11
     |
1222 |     #[cfg(target_has_reliable_f16)]
     |           ^^^^^^^^^^^^^^^^^^^^^^^
     |
     = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
     = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
    --> library/coretests/tests/num/flt2dec/mod.rs:1239:11
     |
1239 |     #[cfg(target_has_reliable_f16)]
     |           ^^^^^^^^^^^^^^^^^^^^^^^
     |
     = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
     = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/dec2flt/mod.rs:97:11
   |
97 |     #[cfg(target_has_reliable_f16)]
   |           ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/dec2flt/mod.rs:106:11
    |
106 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/dec2flt/mod.rs:115:11
    |
115 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/dec2flt/mod.rs:124:11
    |
124 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/dec2flt/mod.rs:133:11
    |
133 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/dec2flt/mod.rs:149:11
    |
149 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/dec2flt/mod.rs:165:11
    |
165 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/flt2dec/strategy/dragon.rs:22:11
   |
22 |     #[cfg(target_has_reliable_f16)]
   |           ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/flt2dec/strategy/dragon.rs:49:11
   |
49 |     #[cfg(target_has_reliable_f16)]
   |           ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/flt2dec/strategy/grisu.rs:42:11
   |
42 |     #[cfg(target_has_reliable_f16)]
   |           ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/flt2dec/strategy/grisu.rs:57:11
   |
57 |     #[cfg(target_has_reliable_f16)]
   |           ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

For more information about this error, try `rustc --explain E0658`.
[RUSTC-TIMING] coretests test:true 24.518
error: could not compile `coretests` (test "coretests") due to 25 previous errors

@bors
Copy link
Collaborator

bors commented Apr 29, 2025

⌛ Trying commit 274bf8f with merge 5bc85be...

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 29, 2025
[experiment] reliable float experiments

Trying a few blocked things based on top of rust-lang#140323.

r? `@ghost`

try-job: aarch64-gnu
try-job: i686-gnu-1
try-job: i686-msvc-1
try-job: test-various
try-job: x86_64-gnu
try-job: x86_64-msvc-ext2
try-job: x86_64-gnu-llvm-19-1
try-job: x86_64-gnu-llvm-20-1
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-20-1 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
file:.git/config remote.origin.url=https://github.com/rust-lang-ci/rust
file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
file:.git/config gc.auto=0
file:.git/config http.https://github.com/.extraheader=AUTHORIZATION: basic ***
file:.git/config branch.try.remote=origin
file:.git/config branch.try.merge=refs/heads/try
file:.git/config submodule.library/backtrace.active=true
file:.git/config submodule.library/backtrace.url=https://github.com/rust-lang/backtrace-rs.git
file:.git/config submodule.library/stdarch.active=true
file:.git/config submodule.library/stdarch.url=https://github.com/rust-lang/stdarch.git
file:.git/config submodule.src/doc/book.active=true
---
   |
13 | #[cfg(target_has_reliable_f16)]
   |       ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
 --> library/coretests/tests/num/dec2flt/float.rs:6:7
  |
6 | #[cfg(target_has_reliable_f16)]
  |       ^^^^^^^^^^^^^^^^^^^^^^^
  |
  = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
  = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/dec2flt/float.rs:59:7
   |
59 | #[cfg(target_has_reliable_f16)]
   |       ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
 --> library/coretests/tests/num/dec2flt/lemire.rs:5:7
  |
5 | #[cfg(target_has_reliable_f16)]
  |       ^^^^^^^^^^^^^^^^^^^^^^^
  |
  = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
  = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/dec2flt/lemire.rs:24:7
   |
24 | #[cfg(target_has_reliable_f16)]
   |       ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/flt2dec/random.rs:83:7
   |
83 | #[cfg(target_has_reliable_f16)]
   |       ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/random.rs:124:7
    |
124 | #[cfg(target_has_reliable_f16)]
    |       ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/random.rs:178:7
    |
178 | #[cfg(target_has_reliable_f16)]
    |       ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/random.rs:210:7
    |
210 | #[cfg(target_has_reliable_f16)]
    |       ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/flt2dec/mod.rs:79:7
   |
79 | #[cfg(target_has_reliable_f16)]
   |       ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/mod.rs:186:7
    |
186 | #[cfg(target_has_reliable_f16)]
    |       ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/mod.rs:245:7
    |
245 | #[cfg(target_has_reliable_f16)]
    |       ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/mod.rs:294:7
    |
294 | #[cfg(target_has_reliable_f16)]
    |       ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/mod.rs:643:11
    |
643 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/mod.rs:768:11
    |
768 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/mod.rs:923:11
    |
923 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
    --> library/coretests/tests/num/flt2dec/mod.rs:1222:11
     |
1222 |     #[cfg(target_has_reliable_f16)]
     |           ^^^^^^^^^^^^^^^^^^^^^^^
     |
     = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
     = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
    --> library/coretests/tests/num/flt2dec/mod.rs:1239:11
     |
1239 |     #[cfg(target_has_reliable_f16)]
     |           ^^^^^^^^^^^^^^^^^^^^^^^
     |
     = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
     = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/dec2flt/mod.rs:97:11
   |
97 |     #[cfg(target_has_reliable_f16)]
   |           ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/dec2flt/mod.rs:106:11
    |
106 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/dec2flt/mod.rs:115:11
    |
115 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/dec2flt/mod.rs:124:11
    |
124 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/dec2flt/mod.rs:133:11
    |
133 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/dec2flt/mod.rs:149:11
    |
149 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/dec2flt/mod.rs:165:11
    |
165 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/flt2dec/strategy/dragon.rs:22:11
   |
22 |     #[cfg(target_has_reliable_f16)]
   |           ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/flt2dec/strategy/dragon.rs:49:11
   |
49 |     #[cfg(target_has_reliable_f16)]
   |           ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/flt2dec/strategy/grisu.rs:42:11
   |
42 |     #[cfg(target_has_reliable_f16)]
   |           ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
  --> library/coretests/tests/num/flt2dec/strategy/grisu.rs:57:11
   |
57 |     #[cfg(target_has_reliable_f16)]
   |           ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
   = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

error[E0658]: `cfg(target_has_reliable_f16)` is experimental and subject to change
   --> library/coretests/tests/num/flt2dec/random.rs:171:11
    |
171 |     #[cfg(target_has_reliable_f16)]
    |           ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(cfg_target_has_reliable_f16_f128)]` to the crate attributes to enable
    = note: this compiler was built on 2025-04-29; consider upgrading it if it is out of date

[RUSTC-TIMING] path test:true 17.635
[RUSTC-TIMING] seq_compare test:true 0.432
[RUSTC-TIMING] thread_local test:true 3.633

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-19 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
#18 exporting to docker image format
#18 sending tarball 20.4s done
#18 DONE 26.4s
##[endgroup]
Setting extra environment values for docker:  --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-19]
[CI_JOB_NAME=x86_64-gnu-llvm-19]
debug: `DISABLE_CI_RUSTC_IF_INCOMPATIBLE` configured.
---
sccache: Listening on address 127.0.0.1:4226
##[group]Configure the build
configure: processing command line
configure: 
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-19', '--enable-llvm-link-shared', '--set', 'rust.randomize-layout=true', '--set', 'rust.thin-lto-import-instr-limit=10', '--set', 'build.print-step-timings', '--enable-verbose-tests', '--set', 'build.metrics', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--set', 'rust.lld=false', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--set', 'gcc.download-ci-gcc=true', '--enable-new-symbol-mangling']
configure: build.build          := x86_64-unknown-linux-gnu
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-19/bin/llvm-config
configure: llvm.link-shared     := True
configure: rust.randomize-layout := True
configure: rust.thin-lto-import-instr-limit := 10
---
[TEST] sysroot
[COPY] sysroot_tests source
[PATCH] "sysroot_tests" <- "0027-sysroot_tests-128bit-atomic-operations.patch"
error: patch failed: coretests/tests/lib.rs:2
error: coretests/tests/lib.rs: patch does not apply
Patch failed at 0001 Disable 128bit atomic operations
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config advice.mergeConflict false"
cd "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/cg_clif/build/sysroot_tests" && "git" "-c" "user.name=Dummy" "-c" "[email protected]" "-c" "core.autocrlf=false" "-c" "commit.gpgSign=false" "am" "/checkout/compiler/rustc_codegen_cranelift/patches/0027-sysroot_tests-128bit-atomic-operations.patch" "-q" exited with status ExitStatus(unix_wait_status(32768))
Command has failed. Rerun with -v to see more details.
Build completed unsuccessfully in 0:24:06
  local time: Tue Apr 29 05:23:24 UTC 2025
  network time: Tue, 29 Apr 2025 05:23:24 GMT
##[error]Process completed with exit code 1.
Post job cleanup.

@rust-log-analyzer
Copy link
Collaborator

The job test-various failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
file:.git/config remote.origin.url=https://github.com/rust-lang-ci/rust
file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
file:.git/config gc.auto=0
file:.git/config http.https://github.com/.extraheader=AUTHORIZATION: basic ***
file:.git/config branch.try.remote=origin
file:.git/config branch.try.merge=refs/heads/try
file:.git/config submodule.library/backtrace.active=true
file:.git/config submodule.library/backtrace.url=https://github.com/rust-lang/backtrace-rs.git
file:.git/config submodule.library/stdarch.active=true
file:.git/config submodule.library/stdarch.url=https://github.com/rust-lang/stdarch.git
file:.git/config submodule.src/doc/book.active=true

@tgross35 tgross35 closed this Apr 29, 2025
@tgross35 tgross35 deleted the float-experiments branch April 29, 2025 05:36
@rust-log-analyzer
Copy link
Collaborator

The job test-various failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
file:.git/config remote.origin.url=https://github.com/rust-lang-ci/rust
file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
file:.git/config gc.auto=0
file:.git/config http.https://github.com/.extraheader=AUTHORIZATION: basic ***
file:.git/config branch.try.remote=origin
file:.git/config branch.try.merge=refs/heads/try
file:.git/config submodule.library/backtrace.active=true
file:.git/config submodule.library/backtrace.url=https://github.com/rust-lang/backtrace-rs.git
file:.git/config submodule.library/stdarch.active=true
file:.git/config submodule.library/stdarch.url=https://github.com/rust-lang/stdarch.git
file:.git/config submodule.src/doc/book.active=true

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants