https://gcc.gnu.org/g:5702b0a24e64082bcfd19372a67ef7699d033d22

commit r15-8623-g5702b0a24e64082bcfd19372a67ef7699d033d22
Author: Arthur Cohen <arthur.co...@embecosm.com>
Date:   Thu Dec 26 22:45:12 2024 +0000

    gccrs: lang-item: Add LangItem::PrettyString
    
    Which formats a lang item as it appears in source code.
    
    gcc/rust/ChangeLog:
    
            * util/rust-lang-item.cc (LangItem::PrettyString): New.
            * util/rust-lang-item.h: New.

Diff:
---
 gcc/rust/util/rust-lang-item.cc | 6 ++++++
 gcc/rust/util/rust-lang-item.h  | 1 +
 2 files changed, 7 insertions(+)

diff --git a/gcc/rust/util/rust-lang-item.cc b/gcc/rust/util/rust-lang-item.cc
index 4a6090961443..e038e900f947 100644
--- a/gcc/rust/util/rust-lang-item.cc
+++ b/gcc/rust/util/rust-lang-item.cc
@@ -118,6 +118,12 @@ LangItem::ToString (LangItem::Kind type)
   return str.value ();
 }
 
+std::string
+LangItem::PrettyString (LangItem::Kind type)
+{
+  return "#[lang = \"" + LangItem::ToString (type) + "\"]";
+}
+
 LangItem::Kind
 LangItem::OperatorToLangItem (ArithmeticOrLogicalOperator op)
 {
diff --git a/gcc/rust/util/rust-lang-item.h b/gcc/rust/util/rust-lang-item.h
index 62b15d7b3fc5..f947f3f021c0 100644
--- a/gcc/rust/util/rust-lang-item.h
+++ b/gcc/rust/util/rust-lang-item.h
@@ -134,6 +134,7 @@ public:
 
   static tl::optional<Kind> Parse (const std::string &item);
   static std::string ToString (Kind type);
+  static std::string PrettyString (Kind type);
   static Kind OperatorToLangItem (ArithmeticOrLogicalOperator op);
   static Kind
   CompoundAssignmentOperatorToLangItem (ArithmeticOrLogicalOperator op);

Reply via email to