From: Muhammad Mahad Date: Tue, 15 Aug 2023 14:07:52 +0000 (+0500) Subject: gccrs: [E0535] Unknown argument given to inline attribute X-Git-Tag: basepoints/gcc-15~2213 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=87ccd32da00e82584215c759e80bd092003c9efb;p=thirdparty%2Fgcc.git gccrs: [E0535] Unknown argument given to inline attribute The inline attribute only supports two arguments: - always - never All other arguments given to the inline attribute will return error. 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 message. Signed-off-by: Muhammad Mahad --- diff --git a/gcc/rust/backend/rust-compile-base.cc b/gcc/rust/backend/rust-compile-base.cc index 186736875383..492588dfdf99 100644 --- a/gcc/rust/backend/rust-compile-base.cc +++ b/gcc/rust/backend/rust-compile-base.cc @@ -275,7 +275,11 @@ HIRCompileBase::handle_inline_attribute_on_fndecl (tree fndecl, } else { - rust_error_at (attr.get_locus (), "unknown inline option"); + rich_location rich_locus (line_table, attr.get_locus ()); + rich_locus.add_fixit_replace ("unknown inline option"); + rust_error_at (rich_locus, ErrorCode::E0535, + "invalid argument, % attribute only accepts " + "% or %"); } } diff --git a/gcc/testsuite/rust/compile/inline_2.rs b/gcc/testsuite/rust/compile/inline_2.rs index 1fa5862e10f0..b6cfc83be725 100644 --- a/gcc/testsuite/rust/compile/inline_2.rs +++ b/gcc/testsuite/rust/compile/inline_2.rs @@ -1,5 +1,5 @@ // { dg-additional-options "-w" } -#[inline(A)] // { dg-error "unknown inline option" } +#[inline(A)] // { dg-error "invalid argument, .inline. attribute only accepts .always. or .never." } fn test_a() {} #[inline(A, B)] // { dg-error "invalid number of arguments" }