From: Muhammad Mahad Date: Tue, 15 Aug 2023 13:52:10 +0000 (+0500) Subject: gccrs: [E0534] inline attribute was malformed X-Git-Tag: basepoints/gcc-15~2217 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=75853fdd29499cbe5e532f9472caefaa61ce4a69;p=thirdparty%2Fgcc.git gccrs: [E0534] inline attribute was malformed Inline attribute takes one argument, but more than one argument was found. gcc/rust/ChangeLog: * backend/rust-compile-base.cc (HIRCompileBase::handle_inline_attribute_on_fndecl): Added rich_location & error code. gcc/testsuite/ChangeLog: * rust/compile/inline_2.rs: Added new case. Signed-off-by: Muhammad Mahad --- diff --git a/gcc/rust/backend/rust-compile-base.cc b/gcc/rust/backend/rust-compile-base.cc index 5a0d9a16efde..186736875383 100644 --- a/gcc/rust/backend/rust-compile-base.cc +++ b/gcc/rust/backend/rust-compile-base.cc @@ -247,7 +247,10 @@ HIRCompileBase::handle_inline_attribute_on_fndecl (tree fndecl, AST::AttrInputMetaItemContainer *meta_item = option.parse_to_meta_item (); if (meta_item->get_items ().size () != 1) { - rust_error_at (attr.get_locus (), "invalid number of arguments"); + rich_location rich_locus (line_table, attr.get_locus ()); + rich_locus.add_fixit_replace ("expected one argument"); + rust_error_at (rich_locus, ErrorCode::E0534, + "invalid number of arguments"); return; } diff --git a/gcc/testsuite/rust/compile/inline_2.rs b/gcc/testsuite/rust/compile/inline_2.rs index 3665fdac8045..1fa5862e10f0 100644 --- a/gcc/testsuite/rust/compile/inline_2.rs +++ b/gcc/testsuite/rust/compile/inline_2.rs @@ -4,3 +4,6 @@ fn test_a() {} #[inline(A, B)] // { dg-error "invalid number of arguments" } fn test_b() {} + +#[inline()] // { dg-error "invalid number of arguments" } +fn test_c() {} \ No newline at end of file