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);