hir: Remove EnumItemDiscriminant from HIR
gcc/rust/ChangeLog:
* ast/rust-ast-collector.cc (TokenCollector::visit): Removed.
* backend/rust-compile-item.h (CompileItem::visit): Remove EnumItemDiscriminant case.
* backend/rust-compile-stmt.h (CompileStmt::visit): Remove EnumItemDiscriminant case.
* checks/errors/borrowck/rust-bir-builder-expr-stmt.h (BIRBuilderExprStmt::visit):
Remove EnumItemDiscriminant case.
* checks/errors/borrowck/rust-bir-builder-struct.h (BIRBuilderStruct::visit): Remove
EnumItemDiscriminant case.
* checks/errors/borrowck/rust-function-collector.h (FunctionCollector::visit): Remove
EnumItemDiscriminant case.
* checks/errors/privacy/rust-privacy-reporter.cc (PrivacyReporter::visit): Remove
EnumItemDiscriminant implementation.
* checks/errors/privacy/rust-privacy-reporter.h (PrivacyReporter::visit): Remove
EnumItemDiscriminant declaration.
* checks/errors/rust-const-checker.cc (ConstChecker::visit): Remove EnumItemDiscriminant
implementation.
* checks/errors/rust-const-checker.h (ConstChecker::visit): Remove EnumItemDiscriminant
declaration.
* checks/errors/rust-hir-pattern-analysis.cc (PatternChecker::visit): Remove
EnumItemDiscriminant implementation.
* checks/errors/rust-hir-pattern-analysis.h (PatternChecker::visit): Remove
EnumItemDiscriminant declaration.
* checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit): Remove
EnumItemDiscriminant implementation.
* checks/errors/rust-unsafe-checker.h (UnsafeChecker::visit): Remove
EnumItemDiscriminant declaration.
* hir/rust-hir-dump.cc (Dump::visit): Remove EnumItemDiscriminant implementation.
* hir/rust-hir-dump.h (Dump::visit): Remove EnumItemDiscriminant declaration.
* hir/tree/rust-hir-full-decls.h: Remove EnumItemDiscriminant forward declaration.
* hir/tree/rust-hir-item.cc (EnumItemDiscriminant::as_string): Remove implementation.
(EnumItemDiscriminant::accept_vis): Remove implementation.
* hir/tree/rust-hir-item.h: Remove EnumItemDiscriminant class definition.
* hir/tree/rust-hir-visitor.h (HIRFullVisitor::visit): Remove EnumItemDiscriminant
declaration.
(HIRStmtVisitor::visit): Remove EnumItemDiscriminant declaration.
* hir/tree/rust-hir.cc (EnumItemDiscriminant::as_string): Remove implementation.
(EnumItemDiscriminant::accept_vis): Remove implementation.
* typecheck/rust-hir-type-check-enumitem.cc (TypeCheckEnumItem::Resolve): Remove
EnumItemDiscriminant case.
(TypeCheckEnumItem::visit): Remove EnumItemDiscriminant implementation.
* typecheck/rust-hir-type-check-enumitem.h (TypeCheckEnumItem::visit): Remove
EnumItemDiscriminant declaration.
* typecheck/rust-hir-type-check-stmt.h (TypeCheckStmt::visit): Remove EnumItemDiscriminant case.
Addresses #3340
Thank you for making Rust GCC better!
If your PR fixes an issue, you can add "Fixes #issue_number" into this PR description and the git commit message. This way the issue will be automatically closed when your PR is merged. If your change addresses an issue but does not fully fix it please mark it as "Addresses #issue_number" in the git commit message.
Here is a checklist to help you with your PR.
- [ ] GCC development requires copyright assignment or the Developer's Certificate of Origin sign-off, see https://gcc.gnu.org/contribute.html or https://gcc.gnu.org/dco.html
- [x] Read contributing guidlines
- [ ]
make check-rustpasses locally - [x] Run
clang-format - [ ] Added any relevant test cases to
gcc/testsuite/rust/
Note that you can skip the above if you are just opening a WIP PR in order to get feedback.
*Please write a comment explaining your change. This is the message that will be part of the merge commit.
make check-rust does not run on my machine and gives an OOM error. I will be developing on my machine and testing here due to this
How much ram do you have?
How much ram do you have?
I have 32 GBs of RAM currently. I think this is an issue particularly due a memory leak I am making in the code. For my other PR, I ran make check-rust multiple times with no issues.
Are you sure this PR is the one you're OOMing on?
Edit: is the code causing the memory leak pushed?
https://github.com/Rust-GCC/gccrs/pull/3698#issuecomment-2781092615 Yeah, I just ran the test locally, it did cause an OOM. Fedora shut it down.