about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp
diff options
context:
space:
mode:
authorStuart Cook <Zalathar@users.noreply.github.com>2025-08-07 20:49:41 +1000
committerGitHub <noreply@github.com>2025-08-07 20:49:41 +1000
commit71f04692c32e181ab566c01942f1418dec8662d4 (patch)
treee3968ffc6ac854258aba9981d527925acb03c1cc /compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp
parent995ca3e532b48b689567533e6b736675e38b741e (diff)
parent71add2f5f74c7b7f5d7cc77a763f12513e021b0d (diff)
downloadrust-71f04692c32e181ab566c01942f1418dec8662d4.tar.gz
rust-71f04692c32e181ab566c01942f1418dec8662d4.zip
Rollup merge of #143906 - LorrensP-2158466:miri-float-nondet-foreign-items, r=RalfJung
Miri: non-deterministic floating point operations in `foreign_items`

Part of [rust-lang/miri/#3555](https://github.com/rust-lang/miri/issues/3555#issue-2278914000), this pr does the `foreign_items` work.

Some things have changed since rust-lang/rust#138062 and rust-lang/rust#142514. I moved the "helpers" used for creating fixed outputs and clamping operations to their defined ranges to `math.rs`. These are now also extended to handle the floating-point operations in `foreign_items`. Tests in `miri/tests/float.rs` were changed/added.

Failing tests in `std` were extracted, run under miri with `-Zmiri-many-seeds=0..1000` and changed accordingly. Double checked with `-Zmiri-many-seeds`.

I noticed that the C standard doesn't specify the output ranges for all of its mathematical operations; it just specifies them as:
```
Returns
The sinh functions return sinh x.
```
So I used [Wolfram|Alpha](https://www.wolframalpha.com/).
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp')
0 files changed, 0 insertions, 0 deletions