about summary refs log tree commit diff
path: root/compiler/rustc_driver_impl/messages.ftl
diff options
context:
space:
mode:
authorTrevor Gross <t.gross35@gmail.com>2025-09-05 01:53:20 -0400
committerGitHub <noreply@github.com>2025-09-05 01:53:20 -0400
commit3b8d41161e14e6b1461039a7f2259cd02a6ab15f (patch)
tree45371da2288c5d1a04779c393623db97a015f219 /compiler/rustc_driver_impl/messages.ftl
parent1a6cfacd8eab5aa186b5ffea60352f6f2fd6eaa6 (diff)
parentb65a177b63237398dc3f49cb5598b16bb9318136 (diff)
downloadrust-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