diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-12-16 14:17:29 +0100 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2025-03-21 12:55:44 +0100 |
commit | f8aa5ececd42ad2cefa837a99756300f41bc4d5a (patch) | |
tree | 8d189877d5a17a7f96615a9d2612a31efd4b154f /gcc | |
parent | ed75c2b000afe0a3c82c696554122bbcdad2b727 (diff) | |
download | gcc-f8aa5ececd42ad2cefa837a99756300f41bc4d5a.zip gcc-f8aa5ececd42ad2cefa837a99756300f41bc4d5a.tar.gz gcc-f8aa5ececd42ad2cefa837a99756300f41bc4d5a.tar.bz2 |
gccrs: lang-item: Add Option::{None, Some}, Iterator::next, IntoIter::into_iter
gcc/rust/ChangeLog:
* util/rust-lang-item.h: Add new lang items.
* util/rust-lang-item.cc: Likewise.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/util/rust-lang-item.cc | 6 | ||||
-rw-r--r-- | gcc/rust/util/rust-lang-item.h | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/rust/util/rust-lang-item.cc b/gcc/rust/util/rust-lang-item.cc index 216202a..c4c1d1c 100644 --- a/gcc/rust/util/rust-lang-item.cc +++ b/gcc/rust/util/rust-lang-item.cc @@ -92,6 +92,12 @@ const BiMap<std::string, LangItem::Kind> Rust::LangItem::lang_items = {{ {"str", Kind::STR}, {"f32_runtime", Kind::F32_RUNTIME}, {"f64_runtime", Kind::F64_RUNTIME}, + + {"Some", Kind::OPTION_SOME}, + {"None", Kind::OPTION_NONE}, + + {"into_iter", Kind::INTOITER_INTOITER}, + {"next", Kind::ITERATOR_NEXT}, }}; tl::optional<LangItem::Kind> diff --git a/gcc/rust/util/rust-lang-item.h b/gcc/rust/util/rust-lang-item.h index 66d26d0..9e432e2 100644 --- a/gcc/rust/util/rust-lang-item.h +++ b/gcc/rust/util/rust-lang-item.h @@ -26,6 +26,9 @@ namespace Rust { class LangItem { public: + // FIXME: We should clean up that enum to make it more inline with the list of + // lang-items in Rust 1.49 + // https://github.com/rust-lang/rust/blob/1.49.0/compiler/rustc_hir/src/lang_items.rs enum class Kind { // https://github.com/rust-lang/rust/blob/master/library/core/src/ops/arith.rs @@ -117,6 +120,12 @@ public: STR, F32_RUNTIME, F64_RUNTIME, + + OPTION_SOME, + OPTION_NONE, + + INTOITER_INTOITER, + ITERATOR_NEXT, }; static const BiMap<std::string, Kind> lang_items; |