llvm: Match new LLVM 128-bit integer alignment on sparc by maurer · Pull Request #132422 · rust-lang/rust (original) (raw)

tgross35 added a commit to tgross35/rust that referenced this pull request

Feb 20, 2025

@tgross35

Rust's 128-bit integers have historically been incompatible with C 1. However, there have been a number of changes in Rust and LLVM that mean this is no longer the case:

At [3], the lang team considered it acceptable to remove i128 from improper_ctypes_definitions if the LLVM version is known to be compatible. Time has elapsed since then and we have dropped support for LLVM versions that do not have the x86 fixes, meaning a per-llvm-version lint should no longer be necessary. The PowerPC, SPARC, and MIPS changes only came in LLVM 20 but since Rust's datalayouts have also been updated to match, we will be using the correct alignment regardless of LLVM version.

Closes: rust-lang#134288 Closes: rust-lang#128950

[3]: rust-lang/lang-team#255 (comment)