about summary refs log tree commit diff
path: root/tests/codegen/src-hash-algorithm/src-hash-algorithm-sha1.rs
diff options
context:
space:
mode:
authordianqk <dianqk@dianqk.net>2025-06-30 19:23:15 +0800
committerGitHub <noreply@github.com>2025-06-30 19:23:15 +0800
commitd2dc99cc831a16f802c164cfc58ed455fc8dd260 (patch)
tree574c9aadc853eafc54bb77ad1d35f070df8d89bf /tests/codegen/src-hash-algorithm/src-hash-algorithm-sha1.rs
parent384d6998939f6577b8b37dae5fd7b661e941f7af (diff)
parent67ab61e8ba0bbf802e169f7084b6760509a15392 (diff)
downloadrust-d2dc99cc831a16f802c164cfc58ed455fc8dd260.tar.gz
rust-d2dc99cc831a16f802c164cfc58ed455fc8dd260.zip
Rollup merge of #142514 - LorrensP-2158466:miri-float-nondet-pow, r=RalfJung
Miri: handling of SNaN inputs in `f*::pow` operations

fixes [miri/#4286](https://github.com/rust-lang/miri/issues/4286) and related to rust-lang/rust#138062 and [miri/#4208](https://github.com/rust-lang/miri/issues/4208#issue-2879058184).

For the following cases of the powf or powi operations, Miri returns either `1.0` or an arbitrary `NaN`:
- `powf(SNaN, 0.0)`
- `powf(1.0, SNaN)`
- `powi(SNaN, 0)`

Also added a macro in `miri/tests/pass/float.rs` which conveniently checks if both are indeed returned from such an operation.

Made these changes in the rust repo so I could test against stdlib, since these were impacted some time ago and were fixed in rust-lang/rust#138062. Tested with:
```fish
env MIRIFLAGS=-Zmiri-many-seeds ./x miri --no-fail-fast std core coretests -- f32 f64
```
This was successful. This does take a while, so I recommend using `--no-doc` and separate use of `f32` or `f64`

The pr is somewhat split up into 3 main commits, which implement the cases described above. The first commit also introduces the macro, and the last commit is just a global refactor of some things.

r? `@RalfJung`
Diffstat (limited to 'tests/codegen/src-hash-algorithm/src-hash-algorithm-sha1.rs')
0 files changed, 0 insertions, 0 deletions