Built on x86_64-pc-linux-gnu, pushed to trunk as obvious (hopefully). -- >8 --
This patch removes stray NON_DEPENDENT_EXPR checks following the removal of this tree code from the C++ FE. (Since this restores the build I supppose it means the Rust FE never creates NON_DEPENDENT_EXPR trees in the first place, so no further analysis is needed.) PR rust/111899 gcc/rust/ChangeLog: * backend/rust-constexpr.cc (potential_constant_expression_1): Remove NON_DEPENDENT_EXPR handling. * backend/rust-tree.cc (mark_exp_read): Likewise. (mark_use): Likewise. (lvalue_kind): Likewise. --- gcc/rust/backend/rust-constexpr.cc | 1 - gcc/rust/backend/rust-tree.cc | 3 --- 2 files changed, 4 deletions(-) diff --git a/gcc/rust/backend/rust-constexpr.cc b/gcc/rust/backend/rust-constexpr.cc index b28fa27b2d0..a7ae4166ea0 100644 --- a/gcc/rust/backend/rust-constexpr.cc +++ b/gcc/rust/backend/rust-constexpr.cc @@ -6151,7 +6151,6 @@ potential_constant_expression_1 (tree t, bool want_rval, bool strict, bool now, case CLEANUP_POINT_EXPR: case EXPR_STMT: case PAREN_EXPR: - case NON_DEPENDENT_EXPR: /* For convenience. */ case LOOP_EXPR: case EXIT_EXPR: diff --git a/gcc/rust/backend/rust-tree.cc b/gcc/rust/backend/rust-tree.cc index 66e859cd70c..7040c75f825 100644 --- a/gcc/rust/backend/rust-tree.cc +++ b/gcc/rust/backend/rust-tree.cc @@ -72,7 +72,6 @@ mark_exp_read (tree exp) case ADDR_EXPR: case INDIRECT_REF: case FLOAT_EXPR: - case NON_DEPENDENT_EXPR: case VIEW_CONVERT_EXPR: mark_exp_read (TREE_OPERAND (exp, 0)); break; @@ -128,7 +127,6 @@ mark_use (tree expr, bool rvalue_p, bool read_p, switch (TREE_CODE (expr)) { case COMPONENT_REF: - case NON_DEPENDENT_EXPR: recurse_op[0] = true; break; case COMPOUND_EXPR: @@ -4520,7 +4518,6 @@ lvalue_kind (const_tree ref) lvalues. */ return (DECL_NONSTATIC_MEMBER_FUNCTION_P (ref) ? clk_none : clk_ordinary); - case NON_DEPENDENT_EXPR: case PAREN_EXPR: return lvalue_kind (TREE_OPERAND (ref, 0)); -- 2.42.0.411.g813d9a9188