| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-12-11 | Auto merge of #118032 - RalfJung:char-u32, r=Mark-Simulacrum | bors | -0/+7 | |
| guarantee that char and u32 are ABI-compatible In https://github.com/rust-lang/rust/pull/116894 we added a guarantee that `char` has the same alignment as `u32`, but there is still one axis where these types could differ: function call ABI. So let's nail that down as well: in a function signature, `char` and `u32` are completely equivalent. This is a new stable guarantee, so it will need t-lang approval. | ||||
| 2023-11-19 | Auto merge of #117500 - RalfJung:aggregate-abi, r=davidtwco | bors | -3/+27 | |
| Ensure sanity of all computed ABIs This moves the ABI sanity assertions from the codegen backend to the ABI computation logic. Sadly, due to past mistakes, we [have to](https://github.com/rust-lang/rust/pull/117351#issuecomment-1788495503) be able to compute a sane ABI for nonsensical function types like `extern "C" fn(str) -> str`. So to make the sanity check pass we first need to make all ABI adjustment deal with unsized types... and we have no shared infrastructure for those adjustments, so that's a bunch of copy-paste. At least we have assertions failing loudly when one accidentally sets a different mode for an unsized argument. To achieve this, this re-lands the parts of https://github.com/rust-lang/rust/pull/80594 that got reverted in https://github.com/rust-lang/rust/pull/81388. To avoid breaking wasm ABI again, that ABI now explicitly opts-in to the (wrong, broken) ABI that we currently keep for backwards compatibility. That's still better than having *every* ABI use the wrong broken default! Cc `@bjorn3` Fixes https://github.com/rust-lang/rust/issues/115845 | ||||
| 2023-11-19 | disable csky test on CI | Ralf Jung | -3/+5 | |
| 2023-11-18 | guarantee that char and u32 are ABI-compatible | Ralf Jung | -0/+7 | |
| 2023-11-07 | test and fix some more targets | Ralf Jung | -0/+9 | |
| 2023-11-04 | document ABI compatibility | Ralf Jung | -4/+4 | |
| 2023-11-03 | default Aggregate ABI to Indirect, and make sure it's never used for unsized | Ralf Jung | -0/+11 | |
| 2023-11-03 | move ABI sanity check from LLVM codegen backend to ABI computation logic | Ralf Jung | -3/+5 | |
| 2023-10-24 | tests/ui/abi/compatibility: Set min-llvm-version to 17 for LoongArch64 | WANG Rui | -0/+1 | |
| 2023-09-22 | run abi/compatibility test against a whole bunch of targets | Ralf Jung | -10/+173 | |
| 2023-09-20 | tests/ui/abi: Enable repr(transparent) union ABI tests on LoongArch64 | WANG Rui | -2/+0 | |
| 2023-09-19 | tests/ui/abi: Enable repr(transparent) union ABI tests on RISC-V | msizanoen | -2/+1 | |
| 2023-09-12 | add some DispatchFromDyn ABI compatibility tests | Ralf Jung | -0/+5 | |
| 2023-09-12 | add enough cfg to make the test pass on problematic targets | Ralf Jung | -14/+39 | |
| 2023-09-12 | also test ABI-compatibility for some unsized types | Ralf Jung | -2/+19 | |
| 2023-09-12 | make sure the types in the ABI compat test actually type-check | Ralf Jung | -2/+5 | |
| 2023-09-11 | Rollup merge of #115708 - RalfJung:homogeneous, r=davidtwco | Matthias Krüger | -8/+2 | |
| fix homogeneous_aggregate not ignoring some ZST This is an ABI-breaking change, because it fixes bugs in our ABI code. I'm not sure what that means for this PR, we don't really have a process for such changes, do we? I can only hope nobody relied on the old buggy behavior. Fixes https://github.com/rust-lang/rust/issues/115664 | ||||
| 2023-09-10 | fix homogeneous_aggregate not ignoring some 1-ZST | Ralf Jung | -8/+2 | |
| 2023-09-09 | rustc_layout, rustc_abi: make sure the types are well-formed | Ralf Jung | -4/+5 | |
| 2023-09-08 | need to disable part of this test on arm | Ralf Jung | -1/+8 | |
| 2023-09-08 | add a testcase for another MIPS64 bug | Ralf Jung | -0/+1 | |
| 2023-09-08 | merge transparent-abi test into general abi compatibility test, and test ↵ | Ralf Jung | -2/+42 | |
| repr(transparent) unions | ||||
| 2023-09-08 | add tests for RFC 3391 | Ralf Jung | -0/+25 | |
| 2023-09-08 | accept some differences for rustc_abi(assert_eq), so that we can test more ↵ | Ralf Jung | -0/+76 | |
| things to be compatible | ||||
