diff options
author | Muhammad Mahad <mahadtxt@gmail.com> | 2023-08-15 18:52:10 +0500 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2023-08-16 09:28:41 +0000 |
commit | 5545c75fa5574fcc96717ba1656653621204fca2 (patch) | |
tree | 79ad39f77787f2d84e7374a69caa17092b2c0d2f | |
parent | 74b27ac68d857719fbe92fcd769ff89467ea253f (diff) | |
download | gcc-5545c75fa5574fcc96717ba1656653621204fca2.zip gcc-5545c75fa5574fcc96717ba1656653621204fca2.tar.gz gcc-5545c75fa5574fcc96717ba1656653621204fca2.tar.bz2 |
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 <mahadtxt@gmail.com>
-rw-r--r-- | gcc/rust/backend/rust-compile-base.cc | 5 | ||||
-rw-r--r-- | gcc/testsuite/rust/compile/inline_2.rs | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/rust/backend/rust-compile-base.cc b/gcc/rust/backend/rust-compile-base.cc index c2ac15d..a907840 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 3665fda..1fa5862 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 |