about summary refs log tree commit diff
path: root/src/tools/miri
AgeCommit message (Collapse)AuthorLines
2024-04-24Fix miri testGary Guo-1/+1
2024-04-24Error on using `yield` without also using `#[coroutine]` on the closureOli Scherer-25/+25
And suggest adding the `#[coroutine]` to the closure
2024-04-24Auto merge of #3507 - RalfJung:let-underscore, r=RalfJungbors-15/+15
avoid 'let _' in tests where we actually want the value to be computed
2024-04-24avoid 'let _' in tests where we actually want the value to be computedRalf Jung-15/+15
2024-04-24Auto merge of #3502 - RalfJung:GetUserProfileDirectoryW, r=RalfJungbors-67/+184
windows: basic support for GetUserProfileDirectoryW Fixes https://github.com/rust-lang/miri/issues/3499
2024-04-24avoid some unnecessary Scalar-i32-Scalar roundtripsRalf Jung-10/+10
2024-04-24make the obsucre truncating variant of this.write_os_str_to_wide_str a ↵Ralf Jung-51/+52
non-default function
2024-04-24windows buffer size protocol: turns out std resets last_error to 0; let's ↵Ralf Jung-11/+15
require that in general
2024-04-24windows: basic support for GetUserProfileDirectoryWRalf Jung-2/+114
2024-04-24Merge from rustcThe Miri Cronjob Bot-33/+119
2024-04-24Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-04-23Rollup merge of #124003 - WaffleLapkin:dellvmization, r=scottmcm,RalfJung,antoyoMatthias Krüger-3/+3
Dellvmize some intrinsics (use `u32` instead of `Self` in some integer intrinsics) This implements https://github.com/rust-lang/compiler-team/issues/693 minus what was implemented in #123226. Note: I decided to _not_ change `shl`/... builder methods, as it just doesn't seem worth it. r? ``@scottmcm``
2024-04-23Fix wording in shift functions doc commentsEduardo Sánchez Muñoz-2/+2
2024-04-23Configure clippy not to generate warnings about arithmetic operations on ↵Eduardo Sánchez Muñoz-4/+1
`rustc_target::abi::Size`
2024-04-23Implement LLVM x86 AVX2 intrinsicsEduardo Sánchez Muñoz-256/+2476
2024-04-23CI: don't run cron-fail-notify when the job just got canceledRalf Jung-1/+1
Doesn't seem right to prepare a PR in that case
2024-04-23Auto merge of #3504 - forcedebug:master, r=RalfJungbors-8/+8
chore: fix some typos in comments
2024-04-23add Windows TLS bug to trophy caseRalf Jung-1/+3
2024-04-23chore: fix some typos in commentsforcedebug-8/+8
Signed-off-by: forcedebug <forcedebug@outlook.com>
2024-04-23Auto merge of #3493 - eduardosm:env-set, r=oli-obkbors-12/+43
Add `-Zmiri-env-set` to set environment variables without modifying the host environment This option allows to pass environment variables to the interpreted program without needing to modify the host environment (which may have undesired effects in some cases).
2024-04-23Missing word at the end of sentenceOli Scherer-1/+1
2024-04-23Merge from rustcThe Miri Cronjob Bot-7/+244
2024-04-23Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-04-23Rollup merge of #124220 - RalfJung:interpret-wrong-vtable, r=oli-obkMatthias Krüger-30/+116
Miri: detect wrong vtables in wide pointers Fixes https://github.com/rust-lang/miri/issues/3497. Needed to catch the UB that https://github.com/rust-lang/rust/pull/123572 will start exploiting. r? `@oli-obk`
2024-04-23Auto merge of #121801 - zetanumbers:async_drop_glue, r=oli-obkbors-0/+235
Add simple async drop glue generation This is a prototype of the async drop glue generation for some simple types. Async drop glue is intended to behave very similar to the regular drop glue except for being asynchronous. Currently it does not execute synchronous drops but only calls user implementations of `AsyncDrop::async_drop` associative function and awaits the returned future. It is not complete as it only recurses into arrays, slices, tuples, and structs and does not have same sensible restrictions as the old `Drop` trait implementation like having the same bounds as the type definition, while code assumes their existence (requires a future work). This current design uses a workaround as it does not create any custom async destructor state machine types for ADTs, but instead uses types defined in the std library called future combinators (deferred_async_drop, chain, ready_unit). Also I recommend reading my [explainer](https://zetanumbers.github.io/book/async-drop-design.html). This is a part of the [MCP: Low level components for async drop](https://github.com/rust-lang/compiler-team/issues/727) work. Feature completeness: - [x] `AsyncDrop` trait - [ ] `async_drop_in_place_raw`/async drop glue generation support for - [x] Trivially destructible types (integers, bools, floats, string slices, pointers, references, etc.) - [x] Arrays and slices (array pointer is unsized into slice pointer) - [x] ADTs (enums, structs, unions) - [x] tuple-like types (tuples, closures) - [ ] Dynamic types (`dyn Trait`, see explainer's [proposed design](https://github.com/zetanumbers/posts/blob/main/async-drop-design.md#async-drop-glue-for-dyn-trait)) - [ ] coroutines (https://github.com/rust-lang/rust/pull/123948) - [x] Async drop glue includes sync drop glue code - [x] Cleanup branch generation for `async_drop_in_place_raw` - [ ] Union rejects non-trivially async destructible fields - [ ] `AsyncDrop` implementation requires same bounds as type definition - [ ] Skip trivially destructible fields (optimization) - [ ] New [`TyKind::AdtAsyncDestructor`](https://github.com/zetanumbers/posts/blob/main/async-drop-design.md#adt-async-destructor-types) and get rid of combinators - [ ] [Synchronously undroppable types](https://github.com/zetanumbers/posts/blob/main/async-drop-design.md#exclusively-async-drop) - [ ] Automatic async drop at the end of the scope in async context
2024-04-22Stabilize generic `NonZero`.Markus Reiter-2/+0
2024-04-22Add localtime_r shimtiif-0/+273
2024-04-21Add `-Zmiri-env-set` to set environment variables without modifying the host ↵Eduardo Sánchez Muñoz-12/+43
environment This option allows to pass environment variables to the interpreted program without needing to modify the host environment (which may have undesired effects in some cases).
2024-04-21Miri: detect wrong vtables in wide pointersRalf Jung-30/+116
2024-04-21the mir-validation ICE test behaves strangely on Windows hostsRalf Jung-5/+8
let's just disable it there, this code is not platform-dependent anyway
2024-04-20ensure the ICE-to-file logic does not affect our testRalf Jung-0/+1
2024-04-20more consistently talk about the 'active thread', not the 'current thread'Ralf Jung-29/+29
2024-04-20global allocations: don't make up a super-high VectorIdx, just use the main ↵Ralf Jung-19/+21
thread
2024-04-20Auto merge of #3495 - RalfJung:data-race-clocks, r=RalfJungbors-124/+119
data_race: make the release/acquire API more clear
2024-04-20restrict VClock API surfaceRalf Jung-26/+44
2024-04-20reuse_pool: only do acquire_clock if we reused from a different threadRalf Jung-4/+8
2024-04-20data_race: make the release/acquire API more clearRalf Jung-94/+67
2024-04-20re-bless testsRalf Jung-0/+2
2024-04-20fix clippy warningRalf Jung-1/+0
2024-04-20Merge from rustcThe Miri Cronjob Bot-0/+31
2024-04-20Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-04-19Auto merge of #3475 - RalfJung:reduce-reuse-recycle, r=RalfJungbors-126/+321
Address reuse improvements and fixes - when an address gets reused, establish a happens-before link in the data race model - do not reuse stack addresses, and make the reuse rate configurable Fixes https://github.com/rust-lang/miri/issues/3450
2024-04-19Auto merge of #3489 - rust-lang:rustup-2024-04-19, r=RalfJungbors-5/+6
Automatic Rustup
2024-04-19make test not leak rustc crate hashRalf Jung-1/+2
2024-04-19share code between win-to-unix and unix-to-win path conversionRalf Jung-81/+67
2024-04-19Merge from rustcThe Miri Cronjob Bot-3/+3
2024-04-19Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-04-18Rollup merge of #124116 - RalfJung:miri-rust-backtrace, r=NilstriebJubilee-0/+31
when suggesting RUST_BACKTRACE=1, add a special note for Miri's env var isolation Fixes https://github.com/rust-lang/miri/issues/2855
2024-04-18when reusing an address, most of the time only reuse from the current threadRalf Jung-109/+183
2024-04-18comment clarification and typo fixRalf Jung-4/+14