diff options
author | Nobel Singh <nobel2073@gmail.com> | 2024-01-19 20:51:34 +0545 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-02-07 12:40:22 +0100 |
commit | 60f8171f5c8c7eec6c3441f735735f31cea2e1d1 (patch) | |
tree | a13cd41b0277ff34390cf40611b700a000b072c2 /gcc/rust | |
parent | 99fccb3eee81b3593bc5e538b4ba17dff6724c05 (diff) | |
download | gcc-60f8171f5c8c7eec6c3441f735735f31cea2e1d1.zip gcc-60f8171f5c8c7eec6c3441f735735f31cea2e1d1.tar.gz gcc-60f8171f5c8c7eec6c3441f735735f31cea2e1d1.tar.bz2 |
gccrs: Set the default ABI to C for extern blocks and extern functions
Previously, the default ABI was set to Rust, which is not correct for
extern blocks and extern functions. This patch changes the default
ABI to C for these cases.
gcc/rust/ChangeLog:
* hir/rust-ast-lower-base.cc (ASTLoweringBase::lower_qualifiers):
Change default ABI to C for extern functions
(ASTLoweringBase::lower_extern_block): Likewise
Signed-off-by: Nobel Singh <nobel2073@gmail.com>
Diffstat (limited to 'gcc/rust')
-rw-r--r-- | gcc/rust/hir/rust-ast-lower-base.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/rust/hir/rust-ast-lower-base.cc b/gcc/rust/hir/rust-ast-lower-base.cc index 748cec7..19f2088 100644 --- a/gcc/rust/hir/rust-ast-lower-base.cc +++ b/gcc/rust/hir/rust-ast-lower-base.cc @@ -718,8 +718,8 @@ ASTLoweringBase::lower_qualifiers (const AST::FunctionQualifiers &qualifiers) Unsafety unsafety = qualifiers.is_unsafe () ? Unsafety::Unsafe : Unsafety::Normal; bool has_extern = qualifiers.is_extern (); + ABI abi = has_extern ? ABI::C : ABI::RUST; - ABI abi = ABI::RUST; if (qualifiers.has_abi ()) { const std::string &extern_abi = qualifiers.get_extern_abi (); @@ -965,7 +965,7 @@ ASTLoweringBase::lower_extern_block (AST::ExternBlock &extern_block) extern_items.push_back (std::unique_ptr<HIR::ExternalItem> (lowered)); } - ABI abi = ABI::RUST; + ABI abi = ABI::C; if (extern_block.has_abi ()) { const std::string &extern_abi = extern_block.get_abi (); |