From: Lucas Ly Ba <[email protected]>
gcc/rust/ChangeLog:
* ast/rust-ast.cc (Attribute::check_cfg_predicate): add cfg path in
condition
gcc/testsuite/ChangeLog:
* rust/compile/issue-4261.rs: New test.
Signed-off-by: Lucas Ly Ba <[email protected]>
---
gcc/rust/ast/rust-ast.cc | 7 ++++---
gcc/testsuite/rust/compile/issue-4261.rs | 3 +++
2 files changed, 7 insertions(+), 3 deletions(-)
create mode 100644 gcc/testsuite/rust/compile/issue-4261.rs
diff --git a/gcc/rust/ast/rust-ast.cc b/gcc/rust/ast/rust-ast.cc
index 5bced483adb..7c6a1d215af 100644
--- a/gcc/rust/ast/rust-ast.cc
+++ b/gcc/rust/ast/rust-ast.cc
@@ -4179,10 +4179,11 @@ Attribute::check_cfg_predicate (const Session &session)
const
auto &meta_item = static_cast<AttrInputMetaItemContainer &> (*attr_input);
if (meta_item.get_items ().empty ()
- && string_path == Values::Attributes::CFG_ATTR)
+ && (string_path == Values::Attributes::CFG
+ || string_path == Values::Attributes::CFG_ATTR))
{
- rust_error_at (path.get_locus (),
- "malformed %<cfg_attr%> attribute input");
+ rust_error_at (path.get_locus (), "malformed %<%s%> attribute input",
+ string_path.c_str ());
return false;
}
diff --git a/gcc/testsuite/rust/compile/issue-4261.rs
b/gcc/testsuite/rust/compile/issue-4261.rs
new file mode 100644
index 00000000000..32beafade54
--- /dev/null
+++ b/gcc/testsuite/rust/compile/issue-4261.rs
@@ -0,0 +1,3 @@
+#[cfg()]
+// { dg-error "malformed .cfg. attribute input" "" { target *-*-* } .-1 }
+fn a() {}
--
2.50.1