https://gcc.gnu.org/g:1b6adb1a09ab5236f86d7243d9765bc17af4ab25
commit 1b6adb1a09ab5236f86d7243d9765bc17af4ab25 Author: Owen Avery <powerboat9.ga...@gmail.com> Date: Sat Dec 9 01:22:02 2023 -0500 Allow enabling lang_items and no_core features gcc/rust/ChangeLog: * checks/errors/rust-feature.cc (Feature::name_hash_map): Add entries for Name::LANG_ITEMS and Name::NO_CORE. * checks/errors/rust-feature.h (Feature::Name::LANG_ITEMS): New. (Feature::Name::NO_CORE): New. gcc/testsuite/ChangeLog: * rust/compile/sized-stub.rs: New test. Signed-off-by: Owen Avery <powerboat9.ga...@gmail.com> Diff: --- gcc/rust/checks/errors/rust-feature.cc | 2 ++ gcc/rust/checks/errors/rust-feature.h | 2 ++ gcc/testsuite/rust/compile/sized-stub.rs | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/gcc/rust/checks/errors/rust-feature.cc b/gcc/rust/checks/errors/rust-feature.cc index 40a57dab3fe3..8885345624fa 100644 --- a/gcc/rust/checks/errors/rust-feature.cc +++ b/gcc/rust/checks/errors/rust-feature.cc @@ -56,6 +56,8 @@ const std::map<std::string, Feature::Name> Feature::name_hash_map = { // later Rust versions {"optin_builtin_traits", Feature::Name::AUTO_TRAITS}, {"extern_types", Feature::Name::EXTERN_TYPES}, + {"lang_items", Feature::Name::LANG_ITEMS}, + {"no_core", Feature::Name::NO_CORE}, }; // namespace Rust tl::optional<Feature::Name> diff --git a/gcc/rust/checks/errors/rust-feature.h b/gcc/rust/checks/errors/rust-feature.h index e613fdf970b0..8a22b4ebd35b 100644 --- a/gcc/rust/checks/errors/rust-feature.h +++ b/gcc/rust/checks/errors/rust-feature.h @@ -43,6 +43,8 @@ public: DECL_MACRO, AUTO_TRAITS, EXTERN_TYPES, + LANG_ITEMS, + NO_CORE, }; const std::string &as_string () { return m_name_str; } diff --git a/gcc/testsuite/rust/compile/sized-stub.rs b/gcc/testsuite/rust/compile/sized-stub.rs new file mode 100644 index 000000000000..4e89b1fb134a --- /dev/null +++ b/gcc/testsuite/rust/compile/sized-stub.rs @@ -0,0 +1,6 @@ +#![feature(lang_items)] +#![feature(no_core)] +#![no_core] + +#[lang = "sized"] +trait Sized {}