about summary refs log tree commit diff
path: root/src/tools/miri
AgeCommit message (Collapse)AuthorLines
2024-02-22Auto merge of #121415 - matthiaskrgr:rollup-o9zzet4, r=matthiaskrgrbors-1/+1
Rollup of 8 pull requests Successful merges: - #121206 (Top level error handling) - #121261 (coverage: Remove `pending_dups` from the span refiner) - #121336 (triagebot: add queue notifications) - #121373 (Consistently refer to a test's `revision` instead of `cfg`) - #121391 (never patterns: Fix liveness analysis in the presence of never patterns) - #121392 (Unify dylib loading between proc macros and codegen backends) - #121399 (Solaris linker does not support --strip-debug) - #121406 (Add a couple tests) r? `@ghost` `@rustbot` modify labels: rollup
2024-02-22Inline and remove `Session::compile_status`.Nicholas Nethercote-1/+1
Because it's now simple enough that it doesn't provide much benefit.
2024-02-21rename ptr::invalid -> ptr::without_provenanceRalf Jung-24/+24
also introduce ptr::dangling matching NonNull::dangling
2024-02-21Test windows random shimsChris Denton-0/+41
2024-02-19Auto merge of #3307 - RalfJung:macos-unreliable, r=RalfJungbors-3/+3
tests/pass/concurrency/sync: try to make it less likely for the test to fail on macOS We're already sleeping a full second though. How can our test be stalled for an entire second, what are these CI runners doing?!?
2024-02-19tests/pass/concurrency/sync: try to make it less likely for the test to fail ↵Ralf Jung-3/+3
on macOS
2024-02-19enable from_bitmask_vector test on little-endian targetsRalf Jung-9/+5
2024-02-19Merge from rustcThe Miri Conjob Bot-8/+9
2024-02-19Preparing for merge from rustcThe Miri Conjob Bot-1/+1
2024-02-18Dyn erase at call siteDavid Thomas-2/+2
2024-02-18Reduce monomorphisation bloat in small_c_stringDavid Thomas-0/+1
2024-02-18Auto merge of #121034 - obeis:improve-static-mut-ref, r=RalfJungbors-6/+6
Improve wording of `static_mut_ref` Close #120964
2024-02-18fmtThe Miri Conjob Bot-2/+1
2024-02-18Merge from rustcThe Miri Conjob Bot-2/+7
2024-02-18Preparing for merge from rustcThe Miri Conjob Bot-1/+1
2024-02-18Improve wording of static_mut_refObei Sideg-6/+6
Rename `static_mut_ref` lint to `static_mut_refs`.
2024-02-17Rollup merge of #121085 - davidtwco:always-eager-diagnostics, r=nnethercoteMatthias Krüger-1/+1
errors: only eagerly translate subdiagnostics Subdiagnostics don't need to be lazily translated, they can always be eagerly translated. Eager translation is slightly more complex as we need to have a `DiagCtxt` available to perform the translation, which involves slightly more threading of that context. This slight increase in complexity should enable later simplifications - like passing `DiagCtxt` into `AddToDiagnostic` and moving Fluent messages into the diagnostic structs rather than having them in separate files (working on that was what led to this change). r? ```@nnethercote```
2024-02-17add direct test of pthread_condRalf Jung-4/+52
2024-02-17Auto merge of #121232 - RalfJung:miri, r=RalfJungbors-263/+2116
Miri subtree update r? `@ghost`
2024-02-17Merge from rustcThe Miri Conjob Bot-21/+21
2024-02-17Enable `ConstPropLint` for promotedsGurinder Singh-1/+6
This fixes the issue wherein the lint didn't fire for promoteds in the case of SHL/SHR operators in non-optimized builds and all arithmetic operators in optimized builds
2024-02-17Preparing for merge from rustcThe Miri Conjob Bot-1/+1
2024-02-16Implement x86 AVX intrinsicsEduardo Sánchez Muñoz-50/+1844
2024-02-16Auto merge of #120500 - oli-obk:intrinsics2.0, r=WaffleLapkinbors-1/+1
Implement intrinsics with fallback bodies fixes #93145 (though we can port many more intrinsics) cc #63585 The way this works is that the backend logic for generating custom code for intrinsics has been made fallible. The only failure path is "this intrinsic is unknown". The `Instance` (that was `InstanceDef::Intrinsic`) then gets converted to `InstanceDef::Item`, which represents the fallback body. A regular function call to that body is then codegenned. This is currently implemented for * codegen_ssa (so llvm and gcc) * codegen_cranelift other backends will need to adjust, but they can just keep doing what they were doing if they prefer (though adding new intrinsics to the compiler will then require them to implement them, instead of getting the fallback body). cc `@scottmcm` `@WaffleLapkin` ### todo * [ ] miri support * [x] default intrinsic name to name of function instead of requiring it to be specified in attribute * [x] make sure that the bodies are always available (must be collected for metadata)
2024-02-16Auto merge of #120486 - reitermarkus:use-generic-nonzero, r=dtolnaybors-20/+20
Use generic `NonZero` internally. Tracking issue: https://github.com/rust-lang/rust/issues/120257
2024-02-16fmtThe Miri Conjob Bot-28/+7
2024-02-16Merge from rustcThe Miri Conjob Bot-9/+2
2024-02-16Preparing for merge from rustcThe Miri Conjob Bot-1/+1
2024-02-15errors: only eagerly translate subdiagnosticsDavid Wood-1/+1
Subdiagnostics don't need to be lazily translated, they can always be eagerly translated. Eager translation is slightly more complex as we need to have a `DiagCtxt` available to perform the translation, which involves slightly more threading of that context. This slight increase in complexity should enable later simplifications - like passing `DiagCtxt` into `AddToDiagnostic` and moving Fluent messages into the diagnostic structs rather than having them in separate files (working on that was what led to this change). Signed-off-by: David Wood <david@davidtw.co>
2024-02-15Split a bool argument into two named functionsOli Scherer-9/+2
2024-02-15Replace `NonZero::<_>::new` with `NonZero::new`.Markus Reiter-6/+6
2024-02-15Use generic `NonZero` internally.Markus Reiter-20/+20
2024-02-14remove no-longer needed rustfmt::skipRalf Jung-1/+0
2024-02-14Preparing for merge from rustcRalf Jung-1/+1
2024-02-13Prevent rustfmt from messing up experimental syntaxOli Scherer-0/+1
2024-02-13Merge from rustcThe Miri Conjob Bot-0/+45
2024-02-13Preparing for merge from rustcThe Miri Conjob Bot-1/+1
2024-02-12Rollup merge of #120950 - compiler-errors:miri-async-closurs, r=RalfJung,oli-obkMatthias Krüger-0/+43
Fix async closures in CTFE First commit renames `is_coroutine_or_closure` into `is_closure_like`, because `is_coroutine_or_closure_or_coroutine_closure` seems confusing and long. Second commit fixes some forgotten cases where we want to handle `TyKind::CoroutineClosure` the same as closures and coroutines. The test exercises the change to `ValidityVisitor::aggregate_field_path_elem` which is the source of #120946, but not the change to `UsedParamsNeedSubstVisitor`, though I feel like it's not that big of a deal. Let me know if you'd like for me to look into constructing a test for the latter, though I have no idea what it'd look like (we can't assert against `TooGeneric` anywhere?). Fixes #120946 r? oli-obk cc ``@RalfJung``
2024-02-12Allow invalid ref casting in Miri unaligned_ref_addr_of testUrgau-0/+2
2024-02-12Support safe intrinsics with fallback bodiesOli Scherer-1/+1
Turn `is_val_statically_known` into such an intrinsic to demonstrate. It is perfectly safe to call after all.
2024-02-12also test pthread_mutex/rwlock directlyRalf Jung-21/+146
turns out one of the synchronizations in rwlock_writer_unlock is unnecessary
2024-02-12comment tweaksRalf Jung-11/+10
2024-02-12Merge from rustcRalf Jung-0/+51
2024-02-12Preparing for merge from rustcRalf Jung-1/+1
2024-02-11Fix async closures in CTFEMichael Goulet-0/+43
2024-02-11Auto merge of #3295 - RalfJung:imported_main, r=RalfJungbors-0/+9
add tests for imported_main
2024-02-11add tests for imported_mainRalf Jung-0/+9
2024-02-11Auto merge of #3285 - sunfishcode:sunfishcode/mmap64, r=RalfJungbors-16/+36
Implement the `mmap64` foreign item. `mmap64` is like `mmap` but uses a 64-bit integer instead of `off_t` for the offset parameter.
2024-02-11Move `mmap64`'s implementation under "File related shims".Dan Gohman-8/+8
2024-02-11Make the `mmap64` implementation Linux-specific.Dan Gohman-6/+9
`mmap64` is only defined on Linux, so move the implementation to Linux-specific code.