diff options
author | Om Swaroop Nayak <96killerat96@gmail.com> | 2025-01-01 09:02:02 -0800 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2025-03-21 12:56:56 +0100 |
commit | 7fd30073101a94bcbe29bab6ca45b05ab74542aa (patch) | |
tree | 218e6dc9fc5cddf9bfcd6cedcb738d36f91a99b7 /gcc | |
parent | 770ca551cf9c591ba195e6c12c8a24948d5b289b (diff) | |
download | gcc-7fd30073101a94bcbe29bab6ca45b05ab74542aa.zip gcc-7fd30073101a94bcbe29bab6ca45b05ab74542aa.tar.gz gcc-7fd30073101a94bcbe29bab6ca45b05ab74542aa.tar.bz2 |
gccrs: gcc/rust/ChangeLog:
* ast/rust-collect-lang-items.cc (get_lang_item_attr): "removed checker fn"
* util/rust-attributes.cc (Attributes::is_lang_item): "added fn"
* util/rust-attributes.h: "added fn"
Signed-off-by: Om Swaroop Nayak <96killerat96@gmail.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/ast/rust-collect-lang-items.cc | 7 | ||||
-rw-r--r-- | gcc/rust/util/rust-attributes.cc | 8 | ||||
-rw-r--r-- | gcc/rust/util/rust-attributes.h | 2 |
3 files changed, 11 insertions, 6 deletions
diff --git a/gcc/rust/ast/rust-collect-lang-items.cc b/gcc/rust/ast/rust-collect-lang-items.cc index 50d134a..ec6919d 100644 --- a/gcc/rust/ast/rust-collect-lang-items.cc +++ b/gcc/rust/ast/rust-collect-lang-items.cc @@ -40,12 +40,7 @@ get_lang_item_attr (const T &maybe_lang_item) continue; } - bool is_lang_item = str_path == Values::Attributes::LANG - && attr.has_attr_input () - && attr.get_attr_input ().get_attr_input_type () - == AST::AttrInput::AttrInputType::LITERAL; - - if (is_lang_item) + if (Analysis::Attributes::is_lang_item (str_path, attr)) { auto &literal = static_cast<AST::AttrInputLiteral &> (attr.get_attr_input ()); diff --git a/gcc/rust/util/rust-attributes.cc b/gcc/rust/util/rust-attributes.cc index 9f63234..0234903 100644 --- a/gcc/rust/util/rust-attributes.cc +++ b/gcc/rust/util/rust-attributes.cc @@ -37,6 +37,14 @@ Attributes::is_known (const std::string &attribute_path) return !lookup.is_error (); } +bool +Attributes::is_lang_item (const std::string &attribute_path, + const AST::Attribute &attr) +{ + return ((attribute_path == Values::Attributes::LANG) && attr.has_attr_input () + && (attr.get_attr_input ().get_attr_input_type () + == AST::AttrInput::AttrInputType::LITERAL)); +} using Attrs = Values::Attributes; diff --git a/gcc/rust/util/rust-attributes.h b/gcc/rust/util/rust-attributes.h index c928c8e..30f9eef 100644 --- a/gcc/rust/util/rust-attributes.h +++ b/gcc/rust/util/rust-attributes.h @@ -29,6 +29,8 @@ class Attributes { public: static bool is_known (const std::string &attribute_path); + static bool is_lang_item (const std::string &attribute_path, + const AST::Attribute &attr); }; enum CompilerPass |