diff options
author | Muhammad Mahad <mahadtxt@gmail.com> | 2023-08-15 19:07:52 +0500 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2023-08-17 09:55:39 +0000 |
commit | b9ae3541a16fef4f60daeee90dbbc7861f1b9584 (patch) | |
tree | d47973595b8d3ff000c387a9cd072051929b0945 | |
parent | 3ef836fb091a14f083a31c009a9b89a6bfa9192c (diff) | |
download | gcc-b9ae3541a16fef4f60daeee90dbbc7861f1b9584.zip gcc-b9ae3541a16fef4f60daeee90dbbc7861f1b9584.tar.gz gcc-b9ae3541a16fef4f60daeee90dbbc7861f1b9584.tar.bz2 |
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 <mahadtxt@gmail.com>
-rw-r--r-- | gcc/rust/backend/rust-compile-base.cc | 6 | ||||
-rw-r--r-- | gcc/testsuite/rust/compile/inline_2.rs | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/rust/backend/rust-compile-base.cc b/gcc/rust/backend/rust-compile-base.cc index a907840..6911fa9 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, %<inline%> attribute only accepts " + "%<always%> or %<never%>"); } } diff --git a/gcc/testsuite/rust/compile/inline_2.rs b/gcc/testsuite/rust/compile/inline_2.rs index 1fa5862..b6cfc83 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" } |