about summary refs log tree commit diff
path: root/src/tools/miri
AgeCommit message (Collapse)AuthorLines
2024-06-27Fix miri.batCharlie Gettys-1/+1
2024-06-27tame unexpected_cfgsRalf Jung-2/+4
2024-06-27Merge from rustcThe Miri Cronjob Bot-1/+18
2024-06-27Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-06-26Auto merge of #120924 - xFrednet:rfc-2383-stabilization-party, r=Urgau,blyxyasbors-1/+1
Let's `#[expect]` some lints: Stabilize `lint_reasons` (RFC 2383) Let's give this another try! The [previous stabilization attempt](https://github.com/rust-lang/rust/pull/99063) was stalled by some unresolved questions. These have been discussed in a [lang team](https://github.com/rust-lang/lang-team/issues/191) meeting. The last open question, regarding the semantics of the `#[expect]` attribute was decided on in https://github.com/rust-lang/rust/issues/115980 I've just updated the [stabilization report](https://github.com/rust-lang/rust/issues/54503#issuecomment-1179563964) with the discussed questions and decisions. Luckily, the decision is inline with the current implementation. This hopefully covers everything. Let's hope that the CI will be green like the spring. fixes #115980 fixes #54503 --- r? `@wesleywiser` Tacking Issue: https://github.com/rust-lang/rust/issues/54503 Stabilization Report: https://github.com/rust-lang/rust/issues/54503#issuecomment-1179563964 Documentation Update: https://github.com/rust-lang/reference/pull/1237 <!-- For Clippy: changelog: [`allow_attributes`]: Is now available on stable, since the `lint_reasons` feature was stabilized changelog: [`allow_attributes_without_reason`]: Is now available on stable, since the `lint_reasons` feature was stabilized --> --- Roses are red, Violets are blue, Let's expect lints, With reason clues
2024-06-25Merge from rustcBen Kimock-3/+3
2024-06-25Preparing for merge from rustcBen Kimock-1/+1
2024-06-25RFC 2383: Stabilize `lint_reasons` in MirixFrednet-1/+1
2024-06-25miri: make sure we can find link_section statics even for the local crateRalf Jung-0/+17
2024-06-24Auto merge of #126523 - joboet:the_great_big_tls_refactor, r=Mark-Simulacrumbors-3/+3
std: refactor the TLS implementation 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-24clarify the status of Tree BorrowsRalf Jung-2/+6
2024-06-24clarify the warning shown when optimizations are enabledRalf Jung-4/+3
2024-06-24Auto merge of #3708 - RalfJung:tls-dtor-in-dtor, r=RalfJungbors-58/+91
tests for when a thread-local gets initialized in a tls dtor
2024-06-24tests for when a thread-local gets initialized in a tls dtorRalf Jung-58/+91
2024-06-24Merge from rustcThe Miri Cronjob Bot-3/+5
2024-06-24Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-06-23Rollup merge of #126833 - RalfJung:extern-type-field-ice, r=compiler-errorsMatthias Krüger-3/+5
don't ICE when encountering an extern type field during validation "extern type" is a pain that keeps on giving... Fixes https://github.com/rust-lang/rust/issues/126814 r? ```@oli-obk```
2024-06-23Auto merge of #3705 - RalfJung:getpid, r=RalfJungbors-6/+6
unix/foreign_items: move getpid to the right part of the file
2024-06-23unix/foreign_items: move getpid to the right part of the fileRalf Jung-6/+6
2024-06-23Auto merge of #3703 - RossSmyth:ms-err, r=RalfJungbors-1/+2
nicer batch file error when building miri-script fails https://github.com/rust-lang/miri/pull/3700#issuecomment-2184026431
2024-06-23fmtThe Miri Cronjob Bot-2/+1
2024-06-23Merge from rustcThe Miri Cronjob Bot-1/+5
2024-06-23Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-06-22nicer batch file error when building miri-script failsRoss Smyth-1/+2
2024-06-22Rollup merge of #126552 - fee1-dead-contrib:rmfx, r=compiler-errorsMatthias Krüger-1/+1
Remove use of const traits (and `feature(effects)`) from stdlib The current uses are already unsound because they are using non-const impls in const contexts. We can reintroduce them by reverting the commit in this PR, after #120639 lands. Also, make `effects` an incomplete feature. cc `@rust-lang/project-const-traits` r? `@compiler-errors`
2024-06-22don't ICE when encountering an extern type field during validationRalf Jung-3/+5
2024-06-22Auto merge of #3690 - TDecking:adx, r=RalfJungbors-48/+128
Implement LLVM x86 adx intrinsics See title. It also explots a small opportunity to deduplicate a bit of intrinsics code.
2024-06-22evaluate arguments first, not inside the logicRalf Jung-2/+7
2024-06-22Make `effects` an incomplete featureDeadbeef-1/+1
2024-06-22./miri: nicer error when building miri-script failsRalf Jung-1/+2
2024-06-21Auto merge of #3696 - RalfJung:ci, r=oli-obkbors-85/+54
CI: try to share setup code across actions
2024-06-21CI: try to share setup code across actionsRalf Jung-85/+54
2024-06-21Move out addition logicTobias Decking-39/+29
2024-06-21Implement LLVM x86 adx intrinsicsTobias Decking-38/+123
2024-06-21add as_ptr to trait AllocBytes, fix 2 impls; add pub fn ↵Strophox-0/+4
get_bytes_unchecked_raw in allocation.rs; add pub fn get_alloc_bytes_unchecked_raw[_mut] in memory.rs
2024-06-21Auto merge of #3689 - adwinwhite:lseek64, r=RalfJungbors-1/+29
Fix ICE caused by seeking past `i64::MAX` Make Miri behave the same as standard library on file seeking offset. Fixes #3680.
2024-06-21Auto merge of #3694 - southball:fix/use_strict_ops_instead_of_checked_ops, ↵bors-75/+65
r=RalfJung Use strict ops instead of checked ops ## What Replace `checked_add(...).unwrap()` with `strict_add(...)`, etc. Resolves #3668.
2024-06-21Auto merge of #3695 - RalfJung:no-libc-on-win, r=RalfJungbors-1/+16
don't rely on libc existing on Windows Fixes https://github.com/rust-lang/miri/issues/3692
2024-06-21don't rely on libc existing on WindowsRalf Jung-1/+16
2024-06-21Fix some missing onesSouthball-7/+7
2024-06-21Use strict ops instead of checked opsSouthball-68/+58
2024-06-21Merge from rustcThe Miri Cronjob Bot-10/+63
2024-06-21Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-06-20Fix ICE caused by seeking past `i64::MAX`Adwin White-1/+29
2024-06-20Auto merge of #3674 - TDecking:bmi, r=RalfJungbors-0/+330
Implement LLVM x86 bmi intrinsics This implements the intrinsics for both the bmi1 and bmi2 ISA extensions. All of these intrinsics live inside the same namespace as far as LLVM is concerned, which is why it is arguably better to bundle the implementations of these two extensions.
2024-06-20Auto merge of #116088 - nbdd0121:unwind, r=Amanieu,RalfJungbors-10/+2
Stabilise `c_unwind` Fix #74990 Fix #115285 (that's also where FCP is happening) Marking as draft PR for now due to `compiler_builtins` issues r? `@Amanieu`
2024-06-20Implement LLVM x86 bmi intrinsicsTobias Decking-0/+330
2024-06-19Remove c_unwind from tests and fix testsGary Guo-10/+2
2024-06-19Rollup merge of #126154 - RalfJung:storage-live, r=compiler-errorsLeón Orell Valerian Liehr-0/+61
StorageLive: refresh storage (instead of UB) when local is already live Blocked on [this FCP](https://github.com/rust-lang/rust/issues/99160#issuecomment-2155924538), which also contains the motivation. Fixes https://github.com/rust-lang/rust/issues/99160 Fixes https://github.com/rust-lang/rust/issues/98896 (by declaring it not-a-bug) Fixes https://github.com/rust-lang/rust/issues/119366 Fixes https://github.com/rust-lang/unsafe-code-guidelines/issues/129
2024-06-19Merge from rustcThe Miri Cronjob Bot-1/+1