| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-09-11 | Use write_immediate. | Camille GILLOT | -2/+2 | |
| 2023-09-11 | Remove cur_span hook. | Camille GILLOT | -12/+3 | |
| 2023-09-11 | Inline callback. | Camille GILLOT | -0/+1 | |
| 2023-09-11 | Return ImmTy in discriminant_for_variant. | Camille GILLOT | -5/+6 | |
| 2023-09-11 | Support non-scalar constants. | Camille GILLOT | -3/+11 | |
| 2023-09-09 | handle/hack for arbitrary-self dyn receivers | Ralf Jung | -32/+44 | |
| 2023-09-09 | implement and test ABI compatibility for transparent wrappers around NPO types | Ralf Jung | -14/+27 | |
| 2023-09-09 | implement and test fn ptr ABI compatibility rules | Ralf Jung | -2/+7 | |
| 2023-09-09 | give extra context to ABI mismatch errors | Ralf Jung | -23/+26 | |
| 2023-09-09 | interpret: change ABI-compat test to be type-based, so the test is ↵ | Ralf Jung | -50/+125 | |
| consistent across targets | ||||
| 2023-09-08 | Partially outline code inside the panic! macro | John Kåre Alsaker | -4/+4 | |
| 2023-09-08 | Auto merge of #115372 - RalfJung:abi-assert-eq, r=davidtwco | bors | -66/+12 | |
| add rustc_abi(assert_eq) to test some guaranteed or at least highly expected ABI compatibility guarantees This new repr(transparent) test is super useful, it would have found https://github.com/rust-lang/rust/issues/115336 and found https://github.com/rust-lang/rust/issues/115404, https://github.com/rust-lang/rust/issues/115481, https://github.com/rust-lang/rust/issues/115509. | ||||
| 2023-09-08 | turns out Layout has some more things to worry about -- move ABI comparison ↵ | Ralf Jung | -6/+2 | |
| into helper function like is_bool, and some special magic extra fields | ||||
| 2023-09-08 | accept some differences for rustc_abi(assert_eq), so that we can test more ↵ | Ralf Jung | -60/+10 | |
| things to be compatible | ||||
| 2023-09-08 | Auto merge of #115608 - RalfJung:fn-arg-validity, r=oli-obk | bors | -0/+7 | |
| miri: catch function calls where the argument is caller-invalid / the return value callee-invalid When doing a type-changing copy, we must validate the data both at the old and new type. Fixes https://github.com/rust-lang/miri/issues/3017 | ||||
| 2023-09-06 | miri: catch function calls where the argument is caller-invalid / the return ↵ | Ralf Jung | -0/+7 | |
| value callee-invalid | ||||
| 2023-09-06 | still accept references to u8 slices and str in packed fields | Ralf Jung | -2/+8 | |
| 2023-09-05 | fix detecting references to packed unsized fields | Ralf Jung | -1/+3 | |
| 2023-09-05 | Refactor how MIR represents composite debuginfo. | Camille GILLOT | -32/+26 | |
| 2023-09-04 | interpret: make MemPlace, Place, Operand types private to the interpreter | Ralf Jung | -225/+306 | |
| 2023-08-31 | miri ABI check: fix handling of 1-ZST; don't accept sign differences | Ralf Jung | -24/+23 | |
| 2023-08-30 | miri function ABI check: specifically look for repr(transparent) | Ralf Jung | -71/+102 | |
| 2023-08-30 | interpret: make sure we accept transparent newtypes as ABI-compatible | Ralf Jung | -16/+36 | |
| also we were missing the case for Vector arguments, so handle those as well | ||||
| 2023-08-30 | storage_live: avoid computing the layout unless necessary | Ralf Jung | -14/+65 | |
| 2023-08-30 | unify passing of sized and unsized function arguments :-) | Ralf Jung | -31/+35 | |
| 2023-08-30 | a bit of meta-related cleanup on Projectable | Ralf Jung | -36/+32 | |
| 2023-08-30 | move marking-locals-live out of push_stack_frame, so it happens with ↵ | Ralf Jung | -86/+150 | |
| argument passing this entirely avoids even creating unsized locals in Immediate::Uninitialized state | ||||
| 2023-08-30 | interpret: fix projecting into an unsized field of a local | Ralf Jung | -97/+100 | |
| new invariant: Place::Local never refers to something unsized | ||||
| 2023-08-30 | Rollup merge of #115272 - RalfJung:miri-error-print, r=saethlin | Matthias Krüger | -5/+28 | |
| miri/diagnostics: don't forget to print_backtrace when ICEing on unexpected errors This should fix the missing output encountered [here](https://github.com/rust-lang/rust/issues/115145#issuecomment-1694334410). r? `@saethlin` | ||||
| 2023-08-29 | const_eval and codegen: audit uses of is_zst | Ralf Jung | -12/+17 | |
| 2023-08-28 | Auto merge of #115182 - RalfJung:abi-compat-sign, r=b-naber | bors | -15/+29 | |
| miri ABI compatibility check: accept u32 and i32 If only the sign differs, then surely these types are compatible. (We do still check that `arg_ext` is the same, just in case.) Also I made it so that the ABI check must *imply* that size and alignment are the same, but it doesn't actively check that itself. With how crazy ABI constraints get, having equal size and align really shouldn't be used as a signal for anything I think... | ||||
| 2023-08-28 | Rollup merge of #115164 - RalfJung:no-in-place-packed, r=b-naber | Matthias Krüger | -3/+29 | |
| MIR validation: reject in-place argument/return for packed fields As discussed [here](https://rust-lang.zulipchat.com/#narrow/stream/136281-t-opsem/topic/Packed.20fields.20and.20in-place.20function.20argument.2Freturn.20passing). | ||||
| 2023-08-27 | miri/diagnostics: don't forget to print_backtrace when ICEing on unexpected ↵ | Ralf Jung | -5/+28 | |
| errors then also use the new helper in a few other places | ||||
| 2023-08-25 | Auto merge of #115184 - saethlin:local-allocated-spans, r=RalfJung | bors | -5/+18 | |
| Record allocation spans inside force_allocation This expands https://github.com/rust-lang/miri/pull/2940 to cover locals r? `@RalfJung` | ||||
| 2023-08-25 | Add a doc comment for the new hook | Ben Kimock | -0/+3 | |
| Co-authored-by: Ralf Jung <post@ralfj.de> | ||||
| 2023-08-25 | Record allocation spans inside force_allocation | Ben Kimock | -5/+15 | |
| 2023-08-25 | Auto merge of #115138 - cjgillot:dse-move-packed, r=compiler-errors | bors | -2/+2 | |
| Do not convert copies of packed projections to moves. This code path was introduced in https://github.com/rust-lang/rust/pull/113758 After seeing https://rust-lang.zulipchat.com/#narrow/stream/136281-t-opsem/topic/Packed.20fields.20and.20in-place.20function.20argument.2Freturn.20passing, this may be UB, so should be disallowed. This should not appear in normally-built MIR, which introduces temporary copies for packed projections. | ||||
| 2023-08-24 | miri ABI compatibility check: accept u32 and i32 | Ralf Jung | -15/+29 | |
| 2023-08-24 | Only check packed ADT. | Camille GILLOT | -2/+2 | |
| 2023-08-24 | when terminating during unwinding, show the reason why | Ralf Jung | -13/+30 | |
| 2023-08-24 | MIR validation: reject in-place argument/return for packed fields | Ralf Jung | -5/+31 | |
| 2023-08-20 | avoid return in tail position | Ralf Jung | -1/+1 | |
| Co-authored-by: fee1-dead <ent3rm4n@gmail.com> | ||||
| 2023-08-20 | interpret: have assert_* intrinsics call the panic machinery instead of a ↵ | Ralf Jung | -21/+16 | |
| direct abort | ||||
| 2023-08-20 | interpret/miri: call panic_cannot_unwind lang item instead of hard-coding ↵ | Ralf Jung | -3/+14 | |
| the same message | ||||
| 2023-08-20 | give some unwind-related terminators a more clear name | Ralf Jung | -13/+13 | |
| 2023-08-20 | Auto merge of #113124 - nbdd0121:eh_frame, r=cjgillot | bors | -8/+42 | |
| Add MIR validation for unwind out from nounwind functions + fixes to make validation pass `@Nilstrieb` This is the MIR validation you asked in https://github.com/rust-lang/rust/pull/112403#discussion_r1222739722. Two passes need to be fixed to get the validation to pass: * `RemoveNoopLandingPads` currently unconditionally introduce a resume block (even there is none to begin with!), changed to not do that * Generator state transform introduces a `assert` which may unwind, and its drop elaboration also introduces many new `UnwindAction`s, so in this case run the AbortUnwindingCalls after the transformation. I believe this PR should also fix Rust-for-Linux/linux#1016, cc `@ojeda` r? `@Nilstrieb` | ||||
| 2023-08-19 | const-eval: ensure we never const-execute a function marked ↵ | Ralf Jung | -32/+21 | |
| rustc_do_not_const_check | ||||
| 2023-08-18 | Add missing instantiation of generator ty in validator | Gary Guo | -1/+1 | |
| 2023-08-18 | Add MIR validation for unwind out from nounwind functions | Gary Guo | -7/+41 | |
| 2023-08-17 | Revert "Implement references VarDebugInfo." | Camille GILLOT | -6/+0 | |
| This reverts commit 2ec007191348ef7cc13eb55e44e007b02cf75cf3. | ||||
