aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust
diff options
context:
space:
mode:
authorMatthew Jasper <mjjasper1@gmail.com>2023-05-21 20:23:27 +0100
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 18:37:21 +0100
commit7e96bfe42867757c35069f2c18abc92c41af0e6b (patch)
tree9042f22fd969089c2b11d37619950976a029abfb /gcc/rust
parent014dd0304d9d2f0f32a390226470be4a876e903c (diff)
downloadgcc-7e96bfe42867757c35069f2c18abc92c41af0e6b.zip
gcc-7e96bfe42867757c35069f2c18abc92c41af0e6b.tar.gz
gcc-7e96bfe42867757c35069f2c18abc92c41af0e6b.tar.bz2
gccrs: Only check first item of cfg_attr attribute as predicate
In #[cfg_attr(A, B, C(D))], only A is a predicate. gcc/rust/ChangeLog: * ast/rust-ast.cc (Attribute::check_cfg_predicate): Only check first item as a predicate. gcc/testsuite/ChangeLog: * rust/compile/cfg-attr.rs: New test. Signed-off-by: Matthew Jasper <mjjasper1@gmail.com>
Diffstat (limited to 'gcc/rust')
-rw-r--r--gcc/rust/ast/rust-ast.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/rust/ast/rust-ast.cc b/gcc/rust/ast/rust-ast.cc
index 55b21d3..d2550b0 100644
--- a/gcc/rust/ast/rust-ast.cc
+++ b/gcc/rust/ast/rust-ast.cc
@@ -4183,7 +4183,8 @@ Attribute::check_cfg_predicate (const Session &session) const
if (!is_parsed_to_meta_item ())
return false;
- return attr_input->check_cfg_predicate (session);
+ auto &meta_item = static_cast<AttrInputMetaItemContainer &> (*attr_input);
+ return meta_item.get_items ().front ()->check_cfg_predicate (session);
}
std::vector<Attribute>