https://gcc.gnu.org/g:7fd30073101a94bcbe29bab6ca45b05ab74542aa

commit r15-8608-g7fd30073101a94bcbe29bab6ca45b05ab74542aa
Author: Om Swaroop Nayak <96killera...@gmail.com>
Date:   Wed Jan 1 09:02:02 2025 -0800

    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 <96killera...@gmail.com>

Diff:
---
 gcc/rust/ast/rust-collect-lang-items.cc | 7 +------
 gcc/rust/util/rust-attributes.cc        | 8 ++++++++
 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 50d134a429f5..ec6919dca14e 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 9f63234112c5..0234903ba585 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 c928c8eb9d26..30f9eef213bc 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

Reply via email to