diff options
| author | Trevor Gross <t.gross35@gmail.com> | 2025-09-05 01:53:20 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-05 01:53:20 -0400 |
| commit | 3b8d41161e14e6b1461039a7f2259cd02a6ab15f (patch) | |
| tree | 45371da2288c5d1a04779c393623db97a015f219 /compiler/rustc_driver_impl/messages.ftl | |
| parent | 1a6cfacd8eab5aa186b5ffea60352f6f2fd6eaa6 (diff) | |
| parent | b65a177b63237398dc3f49cb5598b16bb9318136 (diff) | |
| download | rust-3b8d41161e14e6b1461039a7f2259cd02a6ab15f.tar.gz rust-3b8d41161e14e6b1461039a7f2259cd02a6ab15f.zip | |
Rollup merge of #145709 - heiher:issue-145692-1, r=jackh726
Fix LoongArch C function ABI when passing/returning structs containing floats Similar to RISC-V, LoongArch passes structs containing only one or two floats (or a float–integer pair) in registers, as long as each element fits into a single corresponding register. Before this PR, Rust did not check the actual offset of the second float or integer; instead, it assumed the standard offset based on the default alignment. However, since the offset can be affected by `#[repr(align(N))]` and `#[repr(packed)]`, this led to miscompilations (see rust-lang/rust#145692). This PR fixes the issue by explicitly specifying the offset for the remainder of the cast.
Diffstat (limited to 'compiler/rustc_driver_impl/messages.ftl')
0 files changed, 0 insertions, 0 deletions
