diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/backend/rust-compile-block.h | 2 | ||||
-rw-r--r-- | gcc/rust/backend/rust-compile-expr.h | 1 | ||||
-rw-r--r-- | gcc/rust/checks/errors/privacy/rust-privacy-reporter.cc | 7 | ||||
-rw-r--r-- | gcc/rust/checks/errors/privacy/rust-privacy-reporter.h | 1 | ||||
-rw-r--r-- | gcc/rust/checks/errors/rust-const-checker.cc | 7 | ||||
-rw-r--r-- | gcc/rust/checks/errors/rust-const-checker.h | 1 | ||||
-rw-r--r-- | gcc/rust/checks/errors/rust-unsafe-checker.cc | 7 | ||||
-rw-r--r-- | gcc/rust/checks/errors/rust-unsafe-checker.h | 1 | ||||
-rw-r--r-- | gcc/rust/checks/lints/rust-lint-marklive.h | 6 | ||||
-rw-r--r-- | gcc/rust/hir/rust-ast-lower.cc | 39 | ||||
-rw-r--r-- | gcc/rust/hir/rust-hir-dump.cc | 13 | ||||
-rw-r--r-- | gcc/rust/hir/rust-hir-dump.h | 1 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-expr.h | 67 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-full-decls.h | 1 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-visitor.h | 3 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir.cc | 36 | ||||
-rw-r--r-- | gcc/rust/typecheck/rust-hir-type-check-expr.h | 3 |
17 files changed, 20 insertions, 176 deletions
diff --git a/gcc/rust/backend/rust-compile-block.h b/gcc/rust/backend/rust-compile-block.h index 9135c63..52cf057 100644 --- a/gcc/rust/backend/rust-compile-block.h +++ b/gcc/rust/backend/rust-compile-block.h @@ -96,7 +96,6 @@ public: void visit (HIR::LoopExpr &) override {} void visit (HIR::WhileLoopExpr &) override {} void visit (HIR::WhileLetLoopExpr &) override {} - void visit (HIR::ForLoopExpr &) override {} void visit (HIR::IfLetExpr &) override {} void visit (HIR::IfLetExprConseqElse &) override {} void visit (HIR::MatchExpr &) override {} @@ -180,7 +179,6 @@ public: void visit (HIR::LoopExpr &) override {} void visit (HIR::WhileLoopExpr &) override {} void visit (HIR::WhileLetLoopExpr &) override {} - void visit (HIR::ForLoopExpr &) override {} void visit (HIR::IfLetExpr &) override {} void visit (HIR::IfLetExprConseqElse &) override {} void visit (HIR::MatchExpr &) override {} diff --git a/gcc/rust/backend/rust-compile-expr.h b/gcc/rust/backend/rust-compile-expr.h index a6db70e..e947825 100644 --- a/gcc/rust/backend/rust-compile-expr.h +++ b/gcc/rust/backend/rust-compile-expr.h @@ -72,7 +72,6 @@ public: // TODO void visit (HIR::ErrorPropagationExpr &) override {} void visit (HIR::RangeToInclExpr &) override {} - void visit (HIR::ForLoopExpr &) override {} // TODO // these need to be sugared in the HIR to if statements and a match diff --git a/gcc/rust/checks/errors/privacy/rust-privacy-reporter.cc b/gcc/rust/checks/errors/privacy/rust-privacy-reporter.cc index b377532..a6b4477 100644 --- a/gcc/rust/checks/errors/privacy/rust-privacy-reporter.cc +++ b/gcc/rust/checks/errors/privacy/rust-privacy-reporter.cc @@ -580,13 +580,6 @@ PrivacyReporter::visit (HIR::WhileLetLoopExpr &expr) } void -PrivacyReporter::visit (HIR::ForLoopExpr &expr) -{ - expr.get_iterator_expr ()->accept_vis (*this); - expr.get_loop_block ()->accept_vis (*this); -} - -void PrivacyReporter::visit (HIR::IfExpr &expr) { expr.get_if_condition ()->accept_vis (*this); diff --git a/gcc/rust/checks/errors/privacy/rust-privacy-reporter.h b/gcc/rust/checks/errors/privacy/rust-privacy-reporter.h index b8fb7cf..d54732f 100644 --- a/gcc/rust/checks/errors/privacy/rust-privacy-reporter.h +++ b/gcc/rust/checks/errors/privacy/rust-privacy-reporter.h @@ -119,7 +119,6 @@ types virtual void visit (HIR::LoopExpr &expr); virtual void visit (HIR::WhileLoopExpr &expr); virtual void visit (HIR::WhileLetLoopExpr &expr); - virtual void visit (HIR::ForLoopExpr &expr); virtual void visit (HIR::IfExpr &expr); virtual void visit (HIR::IfExprConseqElse &expr); virtual void visit (HIR::IfLetExpr &expr); diff --git a/gcc/rust/checks/errors/rust-const-checker.cc b/gcc/rust/checks/errors/rust-const-checker.cc index 03b8f6a..cee5c75 100644 --- a/gcc/rust/checks/errors/rust-const-checker.cc +++ b/gcc/rust/checks/errors/rust-const-checker.cc @@ -478,13 +478,6 @@ ConstChecker::visit (WhileLetLoopExpr &expr) } void -ConstChecker::visit (ForLoopExpr &expr) -{ - expr.get_iterator_expr ()->accept_vis (*this); - expr.get_loop_block ()->accept_vis (*this); -} - -void ConstChecker::visit (IfExpr &expr) { expr.get_if_condition ()->accept_vis (*this); diff --git a/gcc/rust/checks/errors/rust-const-checker.h b/gcc/rust/checks/errors/rust-const-checker.h index c199cb3..a645da8 100644 --- a/gcc/rust/checks/errors/rust-const-checker.h +++ b/gcc/rust/checks/errors/rust-const-checker.h @@ -126,7 +126,6 @@ private: virtual void visit (LoopExpr &expr) override; virtual void visit (WhileLoopExpr &expr) override; virtual void visit (WhileLetLoopExpr &expr) override; - virtual void visit (ForLoopExpr &expr) override; virtual void visit (IfExpr &expr) override; virtual void visit (IfExprConseqElse &expr) override; virtual void visit (IfLetExpr &expr) override; diff --git a/gcc/rust/checks/errors/rust-unsafe-checker.cc b/gcc/rust/checks/errors/rust-unsafe-checker.cc index 93ec6cf..2d106e3 100644 --- a/gcc/rust/checks/errors/rust-unsafe-checker.cc +++ b/gcc/rust/checks/errors/rust-unsafe-checker.cc @@ -582,13 +582,6 @@ UnsafeChecker::visit (WhileLetLoopExpr &expr) } void -UnsafeChecker::visit (ForLoopExpr &expr) -{ - expr.get_iterator_expr ()->accept_vis (*this); - expr.get_loop_block ()->accept_vis (*this); -} - -void UnsafeChecker::visit (IfExpr &expr) { expr.get_if_condition ()->accept_vis (*this); diff --git a/gcc/rust/checks/errors/rust-unsafe-checker.h b/gcc/rust/checks/errors/rust-unsafe-checker.h index 2d5b484..fee4d62 100644 --- a/gcc/rust/checks/errors/rust-unsafe-checker.h +++ b/gcc/rust/checks/errors/rust-unsafe-checker.h @@ -108,7 +108,6 @@ private: virtual void visit (LoopExpr &expr) override; virtual void visit (WhileLoopExpr &expr) override; virtual void visit (WhileLetLoopExpr &expr) override; - virtual void visit (ForLoopExpr &expr) override; virtual void visit (IfExpr &expr) override; virtual void visit (IfExprConseqElse &expr) override; virtual void visit (IfLetExpr &expr) override; diff --git a/gcc/rust/checks/lints/rust-lint-marklive.h b/gcc/rust/checks/lints/rust-lint-marklive.h index 4d30847..67822dd 100644 --- a/gcc/rust/checks/lints/rust-lint-marklive.h +++ b/gcc/rust/checks/lints/rust-lint-marklive.h @@ -150,12 +150,6 @@ public: expr.get_cond ()->accept_vis (*this); } - void visit (HIR::ForLoopExpr &expr) override - { - expr.get_loop_block ()->accept_vis (*this); - expr.get_iterator_expr ()->accept_vis (*this); - } - void visit (HIR::ExprStmt &stmt) override { stmt.get_expr ()->accept_vis (*this); diff --git a/gcc/rust/hir/rust-ast-lower.cc b/gcc/rust/hir/rust-ast-lower.cc index cf5b75a..308a2ec 100644 --- a/gcc/rust/hir/rust-ast-lower.cc +++ b/gcc/rust/hir/rust-ast-lower.cc @@ -336,27 +336,24 @@ ASTLoweringExprWithBlock::visit (AST::WhileLoopExpr &expr) void ASTLoweringExprWithBlock::visit (AST::ForLoopExpr &expr) { - HIR::BlockExpr *loop_block - = ASTLoweringBlock::translate (expr.get_loop_block ().get (), &terminated); - HIR::LoopLabel loop_label = lower_loop_label (expr.get_loop_label ()); - HIR::Expr *iterator_expr - = ASTLoweringExpr::translate (expr.get_iterator_expr ().get (), - &terminated); - HIR::Pattern *loop_pattern - = ASTLoweringPattern::translate (expr.get_pattern ().get ()); - - auto crate_num = mappings->get_current_crate (); - Analysis::NodeMapping mapping (crate_num, expr.get_node_id (), - mappings->get_next_hir_id (crate_num), - UNKNOWN_LOCAL_DEFID); - - translated - = new HIR::ForLoopExpr (mapping, - std::unique_ptr<HIR::Pattern> (loop_pattern), - std::unique_ptr<HIR::Expr> (iterator_expr), - std::unique_ptr<HIR::BlockExpr> (loop_block), - expr.get_locus (), std::move (loop_label), - expr.get_outer_attrs ()); + // TODO FIXME + + // HIR::BlockExpr *loop_block + // = ASTLoweringBlock::translate (expr.get_loop_block ().get (), + // &terminated); + // HIR::LoopLabel loop_label = lower_loop_label (expr.get_loop_label ()); + // HIR::Expr *iterator_expr + // = ASTLoweringExpr::translate (expr.get_iterator_expr ().get (), + // &terminated); + // HIR::Pattern *loop_pattern + // = ASTLoweringPattern::translate (expr.get_pattern ().get ()); + + // auto crate_num = mappings->get_current_crate (); + // Analysis::NodeMapping mapping (crate_num, expr.get_node_id (), + // mappings->get_next_hir_id (crate_num), + // UNKNOWN_LOCAL_DEFID); + + gcc_unreachable (); } void diff --git a/gcc/rust/hir/rust-hir-dump.cc b/gcc/rust/hir/rust-hir-dump.cc index 8078ed1..417e117 100644 --- a/gcc/rust/hir/rust-hir-dump.cc +++ b/gcc/rust/hir/rust-hir-dump.cc @@ -1385,19 +1385,6 @@ Dump::visit (WhileLetLoopExpr &e) } void -Dump::visit (ForLoopExpr &e) -{ - begin ("ForLoopExpr"); - do_baseloopexpr (e); - - visit_field ("pattern", e.get_pattern ()); - - visit_field ("iterator_expr", *e.get_iterator_expr ()); - - end ("ForLoopExpr"); -} - -void Dump::visit (IfExpr &e) { begin ("IfExpr"); diff --git a/gcc/rust/hir/rust-hir-dump.h b/gcc/rust/hir/rust-hir-dump.h index 660841f..79aa780 100644 --- a/gcc/rust/hir/rust-hir-dump.h +++ b/gcc/rust/hir/rust-hir-dump.h @@ -156,7 +156,6 @@ private: virtual void visit (LoopExpr &) override; virtual void visit (WhileLoopExpr &) override; virtual void visit (WhileLetLoopExpr &) override; - virtual void visit (ForLoopExpr &) override; virtual void visit (IfExpr &) override; virtual void visit (IfExprConseqElse &) override; virtual void visit (IfLetExpr &) override; diff --git a/gcc/rust/hir/tree/rust-hir-expr.h b/gcc/rust/hir/tree/rust-hir-expr.h index f0e9a36..3bfadbf 100644 --- a/gcc/rust/hir/tree/rust-hir-expr.h +++ b/gcc/rust/hir/tree/rust-hir-expr.h @@ -3092,73 +3092,6 @@ protected: } }; -// For loop expression HIR node (iterator loop) -class ForLoopExpr : public BaseLoopExpr -{ - std::unique_ptr<Pattern> pattern; - std::unique_ptr<Expr> iterator_expr; - -public: - std::string as_string () const override; - - // Constructor with loop label - ForLoopExpr (Analysis::NodeMapping mappings, - std::unique_ptr<Pattern> loop_pattern, - std::unique_ptr<Expr> iterator_expr, - std::unique_ptr<BlockExpr> loop_body, location_t locus, - LoopLabel loop_label, - AST::AttrVec outer_attribs = AST::AttrVec ()) - : BaseLoopExpr (std::move (mappings), std::move (loop_body), locus, - std::move (loop_label), std::move (outer_attribs)), - pattern (std::move (loop_pattern)), - iterator_expr (std::move (iterator_expr)) - {} - - // Copy constructor with clone - ForLoopExpr (ForLoopExpr const &other) - : BaseLoopExpr (other), pattern (other.pattern->clone_pattern ()), - iterator_expr (other.iterator_expr->clone_expr ()) - {} - - // Overloaded assignment operator to clone - ForLoopExpr &operator= (ForLoopExpr const &other) - { - BaseLoopExpr::operator= (other); - pattern = other.pattern->clone_pattern (); - iterator_expr = other.iterator_expr->clone_expr (); - /*loop_block = other.loop_block->clone_block_expr(); - loop_label = other.loop_label; - outer_attrs = other.outer_attrs;*/ - - return *this; - } - - // move constructors - ForLoopExpr (ForLoopExpr &&other) = default; - ForLoopExpr &operator= (ForLoopExpr &&other) = default; - - void accept_vis (HIRFullVisitor &vis) override; - void accept_vis (HIRExpressionVisitor &vis) override; - - std::unique_ptr<Expr> &get_iterator_expr () { return iterator_expr; } - std::unique_ptr<Pattern> &get_pattern () { return pattern; }; - -protected: - /* Use covariance to implement clone function as returning this object rather - * than base */ - ForLoopExpr *clone_expr_impl () const override - { - return new ForLoopExpr (*this); - } - - /* Use covariance to implement clone function as returning this object rather - * than base */ - ForLoopExpr *clone_expr_with_block_impl () const override - { - return new ForLoopExpr (*this); - } -}; - // forward decl for IfExpr class IfLetExpr; diff --git a/gcc/rust/hir/tree/rust-hir-full-decls.h b/gcc/rust/hir/tree/rust-hir-full-decls.h index a260e7f..96293ce 100644 --- a/gcc/rust/hir/tree/rust-hir-full-decls.h +++ b/gcc/rust/hir/tree/rust-hir-full-decls.h @@ -111,7 +111,6 @@ class BaseLoopExpr; class LoopExpr; class WhileLoopExpr; class WhileLetLoopExpr; -class ForLoopExpr; class IfExpr; class IfExprConseqElse; class IfLetExpr; diff --git a/gcc/rust/hir/tree/rust-hir-visitor.h b/gcc/rust/hir/tree/rust-hir-visitor.h index 38c74f6..4e7a97b 100644 --- a/gcc/rust/hir/tree/rust-hir-visitor.h +++ b/gcc/rust/hir/tree/rust-hir-visitor.h @@ -78,7 +78,6 @@ public: virtual void visit (LoopExpr &expr) = 0; virtual void visit (WhileLoopExpr &expr) = 0; virtual void visit (WhileLetLoopExpr &expr) = 0; - virtual void visit (ForLoopExpr &expr) = 0; virtual void visit (IfExpr &expr) = 0; virtual void visit (IfExprConseqElse &expr) = 0; virtual void visit (IfLetExpr &expr) = 0; @@ -215,7 +214,6 @@ public: virtual void visit (LoopExpr &) override {} virtual void visit (WhileLoopExpr &) override {} virtual void visit (WhileLetLoopExpr &) override {} - virtual void visit (ForLoopExpr &) override {} virtual void visit (IfExpr &) override {} virtual void visit (IfExprConseqElse &) override {} virtual void visit (IfLetExpr &) override {} @@ -442,7 +440,6 @@ public: virtual void visit (LoopExpr &expr) = 0; virtual void visit (WhileLoopExpr &expr) = 0; virtual void visit (WhileLetLoopExpr &expr) = 0; - virtual void visit (ForLoopExpr &expr) = 0; virtual void visit (IfExpr &expr) = 0; virtual void visit (IfExprConseqElse &expr) = 0; virtual void visit (IfLetExpr &expr) = 0; diff --git a/gcc/rust/hir/tree/rust-hir.cc b/gcc/rust/hir/tree/rust-hir.cc index ac1ae63..a3d6e1e 100644 --- a/gcc/rust/hir/tree/rust-hir.cc +++ b/gcc/rust/hir/tree/rust-hir.cc @@ -2290,30 +2290,6 @@ GenericArgsBinding::as_string () const } std::string -ForLoopExpr::as_string () const -{ - std::string str ("ForLoopExpr: "); - - str += "\n Label: "; - if (!has_loop_label ()) - { - str += "none"; - } - else - { - str += loop_label.as_string (); - } - - str += "\n Pattern: " + pattern->as_string (); - - str += "\n Iterator expr: " + iterator_expr->as_string (); - - str += "\n Loop block: " + loop_block->as_string (); - - return str; -} - -std::string RangePattern::as_string () const { if (has_ellipsis_syntax) @@ -4093,12 +4069,6 @@ WhileLetLoopExpr::accept_vis (HIRFullVisitor &vis) } void -ForLoopExpr::accept_vis (HIRFullVisitor &vis) -{ - vis.visit (*this); -} - -void IfExpr::accept_vis (HIRFullVisitor &vis) { vis.visit (*this); @@ -4783,12 +4753,6 @@ RangePattern::accept_vis (HIRPatternVisitor &vis) } void -ForLoopExpr::accept_vis (HIRExpressionVisitor &vis) -{ - vis.visit (*this); -} - -void TypePath::accept_vis (HIRTypeVisitor &vis) { vis.visit (*this); diff --git a/gcc/rust/typecheck/rust-hir-type-check-expr.h b/gcc/rust/typecheck/rust-hir-type-check-expr.h index e9890da..c9df24e 100644 --- a/gcc/rust/typecheck/rust-hir-type-check-expr.h +++ b/gcc/rust/typecheck/rust-hir-type-check-expr.h @@ -76,7 +76,8 @@ public: void visit (HIR::ErrorPropagationExpr &) override {} void visit (HIR::RangeToInclExpr &) override {} void visit (HIR::WhileLetLoopExpr &) override {} - void visit (HIR::ForLoopExpr &) override {} + + // lets not worry about async yet.... void visit (HIR::AwaitExpr &) override {} void visit (HIR::AsyncBlockExpr &) override {} |