https://gcc.gnu.org/g:6faf5f174788cedb47a1b99f05a27bdf2d0905bc
commit r17-4278-g6faf5f174788cedb47a1b99f05a27bdf2d0905bc Author: Yap Zhi Heng <[email protected]> Date: Wed Aug 19 22:45:48 2026 +0800 gccrs: Add `unadjusted` and `platform-intrinsic` basic ABI support gcc/rust/ChangeLog: * util/rust-abi.h (ABI): Add PLATFORM_INTRINSIC and UNADJUSTED variants. * util/rust-abi.cc (ABI::get_abi_from_string): Implement cases for PLATFORM_INTRINSIC & UNADJUSTED. (ABI::get_string_from_abi): Ditto. Signed-off-by: Yap Zhi Heng <[email protected]> Diff: --- gcc/rust/util/rust-abi.cc | 8 ++++++++ gcc/rust/util/rust-abi.h | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/rust/util/rust-abi.cc b/gcc/rust/util/rust-abi.cc index d17402e163e6..0a2f9efe4916 100644 --- a/gcc/rust/util/rust-abi.cc +++ b/gcc/rust/util/rust-abi.cc @@ -41,6 +41,10 @@ get_abi_from_string (const std::string &abi) return Rust::ABI::SYSV64; else if (abi.compare ("win64") == 0) return Rust::ABI::WIN_64; + else if (abi.compare ("platform-intrinsic") == 0) + return Rust::ABI::PLATFORM_INTRINSIC; + else if (abi.compare ("unadjusted") == 0) + return Rust::ABI::UNADJUSTED; return Rust::ABI::UNKNOWN; } @@ -66,6 +70,10 @@ get_string_from_abi (Rust::ABI abi) return "sysv64"; case Rust::ABI::WIN_64: return "win64"; + case Rust::ABI::PLATFORM_INTRINSIC: + return "platform-intrinsic"; + case Rust::ABI::UNADJUSTED: + return "unadjusted"; case Rust::ABI::UNKNOWN: return "unknown"; diff --git a/gcc/rust/util/rust-abi.h b/gcc/rust/util/rust-abi.h index 357a5db95ffc..2168a1a9e76e 100644 --- a/gcc/rust/util/rust-abi.h +++ b/gcc/rust/util/rust-abi.h @@ -31,7 +31,9 @@ enum ABI STDCALL, FASTCALL, WIN_64, - SYSV64 + SYSV64, + PLATFORM_INTRINSIC, + UNADJUSTED, }; extern Rust::ABI get_abi_from_string (const std::string &abi);
