From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7905) id 49BA73857C40; Tue, 16 Jan 2024 18:06:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 49BA73857C40 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1705428378; bh=ZiEVote+Fs8qlLjkau6Gv/TL7QAK9Pa6QGig0J83578=; h=From:To:Subject:Date:From; b=DBL5hvGn0j37/b493/MG9S/9E3QW46tyC0FP0w0Dx/xgCPN3lLgCTAY32a3OOCQ17 8neOcECUFn/KwD7hCiHh+dxqdEn47uVwEeA65x5RD86B5XD9ZRBG+kowoPm9XRqxvj JEYotCHoD1V85SGlwdglKJStVZj0RbRevTKIL3EE= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Arthur Cohen To: gcc-cvs@gcc.gnu.org Subject: [gcc r14-7907] gccrs: [E0703] Use of Invalid ABI X-Act-Checkin: gcc X-Git-Author: Muhammad Mahad X-Git-Refname: refs/heads/trunk X-Git-Oldrev: 55cf783df81fc1ee088e7d32ae100eac6c7a6fda X-Git-Newrev: 9f09284d8fc0a218e6fe936591d4ba35f716408f Message-Id: <20240116180618.49BA73857C40@sourceware.org> Date: Tue, 16 Jan 2024 18:06:18 +0000 (GMT) List-Id: https://gcc.gnu.org/g:9f09284d8fc0a218e6fe936591d4ba35f716408f commit r14-7907-g9f09284d8fc0a218e6fe936591d4ba35f716408f Author: Muhammad Mahad Date: Thu Aug 3 20:46:50 2023 +0500 gccrs: [E0703] Use of Invalid ABI Added error code support for invalid ABI. gcc/rust/ChangeLog: * hir/rust-ast-lower-base.cc (ASTLoweringBase::lower_qualifiers): called error function. (ASTLoweringBase::lower_extern_block): likewise. gcc/testsuite/ChangeLog: * rust/compile/abi-options1.rs: updated comment for testcase. Signed-off-by: Muhammad Mahad Diff: --- gcc/rust/hir/rust-ast-lower-base.cc | 6 ++++-- gcc/testsuite/rust/compile/abi-options1.rs | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/gcc/rust/hir/rust-ast-lower-base.cc b/gcc/rust/hir/rust-ast-lower-base.cc index 4ff49f997f3..da36d75bc67 100644 --- a/gcc/rust/hir/rust-ast-lower-base.cc +++ b/gcc/rust/hir/rust-ast-lower-base.cc @@ -702,7 +702,8 @@ ASTLoweringBase::lower_qualifiers (const AST::FunctionQualifiers &qualifiers) const std::string &extern_abi = qualifiers.get_extern_abi (); abi = get_abi_from_string (extern_abi); if (has_extern && abi == ABI::UNKNOWN) - rust_error_at (qualifiers.get_locus (), "unknown ABI option"); + rust_error_at (qualifiers.get_locus (), ErrorCode::E0703, + "invalid ABI: found %qs", extern_abi.c_str ()); } return HIR::FunctionQualifiers (qualifiers.get_const_status (), unsafety, @@ -946,7 +947,8 @@ ASTLoweringBase::lower_extern_block (AST::ExternBlock &extern_block) const std::string &extern_abi = extern_block.get_abi (); abi = get_abi_from_string (extern_abi); if (abi == ABI::UNKNOWN) - rust_error_at (extern_block.get_locus (), "unknown ABI option"); + rust_error_at (extern_block.get_locus (), ErrorCode::E0703, + "invalid ABI: found %qs", extern_abi.c_str ()); } HIR::ExternBlock *hir_extern_block diff --git a/gcc/testsuite/rust/compile/abi-options1.rs b/gcc/testsuite/rust/compile/abi-options1.rs index a4b6241dc15..797dff09823 100644 --- a/gcc/testsuite/rust/compile/abi-options1.rs +++ b/gcc/testsuite/rust/compile/abi-options1.rs @@ -1,7 +1,9 @@ extern "foobar" { - // { dg-error "unknown ABI option" "" { target *-*-* } .-1 } + // { dg-error "invalid ABI: found .foobar." "" { target *-*-* } .-1 } fn printf(s: *const i8, ...); } pub extern "baz" fn test() {} -// { dg-error "unknown ABI option" "" { target *-*-* } .-1 } +// { dg-error "invalid ABI: found .baz." "" { target *-*-* } .-1 } + +// extern "Rust" fn foo() {} // OK! \ No newline at end of file