about summary refs log tree commit diff
path: root/src/tools/miri
AgeCommit message (Collapse)AuthorLines
2024-06-19Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-06-18Remove redundant argument from `subdiagnostic` methodOli Scherer-1/+1
2024-06-18Merge from rustcThe Miri Cronjob Bot-1/+1
2024-06-18Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-06-17Rollup merge of #126567 - compiler-errors:instance-kind, r=oli-obk,lcnrMatthias Krüger-1/+1
Rename `InstanceDef` -> `InstanceKind` Renames `InstanceDef` to `InstanceKind`. The `Def` here is confusing, and makes it hard to distinguish `Instance` and `InstanceDef`. `InstanceKind` makes this more obvious, since it's really just describing what *kind* of instance we have. Not sure if this is large enough to warrant a types team MCP -- it's only 53 files. I don't personally think it does, but happy to write one if anyone disagrees. cc ``@rust-lang/types`` r? types
2024-06-17Auto merge of #3683 - RalfJung:MIRIFLAGS, r=RalfJungbors-81/+52
tell people how to set miri flags fixes https://github.com/rust-lang/miri/issues/3677
2024-06-17tell people how to set miri flagsRalf Jung-81/+52
2024-06-17Auto merge of #3681 - rust-lang:rustup-2024-06-17, r=RalfJungbors-121/+77
Automatic Rustup
2024-06-17show proper UB when making a too large allocation requestRalf Jung-26/+59
2024-06-17Merge from rustcThe Miri Cronjob Bot-120/+76
2024-06-17Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-06-16Rename InstanceDef -> InstanceKindMichael Goulet-1/+1
2024-06-16std: move `sys_common::backtrace` to `sys`joboet-17/+17
2024-06-15std: refactor the TLS implementationjoboet-3/+3
As discovered by Mara in #110897, our TLS implementation is a total mess. In the past months, I have simplified the actual macros and their expansions, but the majority of the complexity comes from the platform-specific support code needed to create keys and register destructors. In keeping with #117276, I have therefore moved all of the `thread_local_key`/`thread_local_dtor` modules to the `thread_local` module in `sys` and merged them into a new structure, so that future porters of `std` can simply mix-and-match the existing code instead of having to copy the same (bad) implementation everywhere. The new structure should become obvious when looking at `sys/thread_local/mod.rs`. Unfortunately, the documentation changes associated with the refactoring have made this PR rather large. That said, this contains no functional changes except for two small ones: * the key-based destructor fallback now, by virtue of sharing the implementation used by macOS and others, stores its list in a `#[thread_local]` static instead of in the key, eliminating one indirection layer and drastically simplifying its code. * I've switched over ZKVM (tier 3) to use the same implementation as WebAssembly, as the implementation was just a way worse version of that Please let me know if I can make this easier to review! I know these large PRs aren't optimal, but I couldn't think of any good intermediate steps. @rustbot label +A-thread-locals
2024-06-15Auto merge of #126518 - matthiaskrgr:rollup-wb70rzq, r=matthiaskrgrbors-101/+56
Rollup of 9 pull requests Successful merges: - #125829 (rustc_span: Add conveniences for working with span formats) - #126361 (Unify intrinsics body handling in StableMIR) - #126417 (Add `f16` and `f128` inline ASM support for `x86` and `x86-64`) - #126424 ( Also sort `crt-static` in `--print target-features` output) - #126428 (Polish `std::path::absolute` documentation.) - #126429 (Add `f16` and `f128` const eval for binary and unary operationations) - #126448 (End support for Python 3.8 in tidy) - #126488 (Use `std::path::absolute` in bootstrap) - #126511 (.mailmap: Associate both my work and my private email with me) r? `@ghost` `@rustbot` modify labels: rollup
2024-06-15Rollup merge of #126512 - RalfJung:miri-sync, r=RalfJungMatthias Krüger-152/+1522
Miri subtree update r? `@ghost`
2024-06-15Auto merge of #3672 - RalfJung:cargo-many-seeds, r=RalfJungbors-107/+174
cargo miri: add support for '--many-seeds' to run the program / tests many times with different seeds: `cargo miri run --many-seeds` / `cargo miri test --many-seeds`. `@rust-lang/miri` any opinion on the flag name here? Should it be `-Zmiri-many-seeds` or is `--many-seeds` fine? Fixes https://github.com/rust-lang/miri/issues/3546
2024-06-14Add `f16` and `f128` support to MiriTrevor Gross-101/+56
2024-06-14add Miri testsRalf Jung-0/+61
2024-06-13Auto merge of #3622 - TDecking:sse4_2, r=RalfJungbors-0/+949
Implement LLVM x86 SSE4.2 intrinsics SSE4.2 is arguably the least important SIMD extension for the x86 ISA, but it should still be supported for the sake of completeness.
2024-06-13document --many-seeds; set the default range to 0..64Ralf Jung-20/+20
2024-06-13cargo miri: add support for '--many-seeds' to run the program / tests many ↵Ralf Jung-88/+155
times with different seeds
2024-06-13add some more CRC testsRalf Jung-0/+20
2024-06-13Implement LLVM x86 SSE4.2 intrinsicsTobias Decking-0/+929
2024-06-13Fix socketpair and epoll_create1's throw_unsup_format wordingtiif-7/+10
2024-06-13fmtThe Miri Cronjob Bot-6/+12
2024-06-13Merge from rustcThe Miri Cronjob Bot-2/+167
2024-06-13Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-06-12Rollup merge of #126328 - RalfJung:is_none_or, r=workingjubileeJubilee-2/+3
Add Option::is_none_or ACP: https://github.com/rust-lang/libs-team/issues/212
2024-06-12use is_none_or in some places in the compilerRalf Jung-2/+3
2024-06-12Rollup merge of #126232 - RalfJung:dyn-trait-equality, r=oli-obkGuillaume Gomez-2/+42
interpret: dyn trait metadata check: equate traits in a proper way Hopefully fixes https://github.com/rust-lang/miri/issues/3541... unfortunately we don't have a testcase. The first commit is just a refactor without functional change. r? `@oli-obk`
2024-06-11interpret: ensure we check bool/char for validity when they are used in a castRalf Jung-0/+125
2024-06-11interpret: dyn trait metadata check: equate traits in a proper wayRalf Jung-0/+40
2024-06-11check for correct trait in size_and_align_ofRalf Jung-2/+2
2024-06-11use strict_ instead of checked_ in a few more placesRalf Jung-15/+11
2024-06-11fmtRalf Jung-4/+2
2024-06-11Merge from rustcRalf Jung-4/+24
2024-06-11Preparing for merge from rustcRalf Jung-1/+1
2024-06-10Rollup merge of #126184 - RalfJung:interpret-simd-nonpow2, r=oli-obkMatthias Krüger-0/+21
interpret: do not ICE on padded non-pow2 SIMD vectors Fixes https://github.com/rust-lang/miri/issues/3458 r? ``@oli-obk``
2024-06-10Rollup merge of #126159 - RalfJung:scalarint-size-mismatch, r=oli-obkMatthias Krüger-4/+3
ScalarInt: size mismatches are a bug, do not delay the panic Cc [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/146212-t-compiler.2Fconst-eval/topic/Why.20are.20ScalarInt.20to.20iN.2FuN.20methods.20fallible.3F) r? ``@oli-obk``
2024-06-10Add socketpair shimtiif-15/+366
2024-06-10ScalarInt: size mismatches are a bug, do not delay the panicRalf Jung-4/+3
2024-06-09Follow up fix for eventfd shimtiif-23/+30
2024-06-09don't panic if time computaton overflowsRalf Jung-67/+102
2024-06-09Auto merge of #3653 - tiif:bug/futex_ice, r=RalfJungbors-8/+20
Fix futex with large timeout ICE Fixes #3647. This PR changed the type of ``nanoseconds`` from ``u64`` to ``u128``. In ``duration_since``, nanoseconds is manually converted to second by dividing it with 1e9. But overflow is still possible.
2024-06-09Run cargo fmttiif-1/+4
2024-06-09Saturate to u64::MAXtiif-1/+2
2024-06-09Checked add for duration updatebyt-1/+1
Co-authored-by: Ralf Jung <post@ralfj.de>
2024-06-09Add comment for u128 to u64 conversion.byt-0/+2
Co-authored-by: Ralf Jung <post@ralfj.de>
2024-06-09Move duration division outtiif-5/+3