From: Arthur Cohen <arthur.co...@embecosm.com>

We only used one path of the C++ folder's get_nth_callarg function:
CALL_EXPR_ARG. Replace all calls to get_nth_callarg by macro calls to
CALL_EXPR_ARG

gcc/rust/ChangeLog:

        * backend/rust-constexpr.cc (get_nth_callarg): Remove function.
        (rs_bind_parameters_in_call): Use CALL_EXPR_ARG instead.
        (potential_constant_expression_1): Likewise.
---
 gcc/rust/backend/rust-constexpr.cc | 19 +++----------------
 1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/gcc/rust/backend/rust-constexpr.cc 
b/gcc/rust/backend/rust-constexpr.cc
index 912d73b5d7c..4e581a3f2cf 100644
--- a/gcc/rust/backend/rust-constexpr.cc
+++ b/gcc/rust/backend/rust-constexpr.cc
@@ -81,8 +81,6 @@ potential_constant_expression_1 (tree t, bool want_rval, bool 
strict, bool now,
 bool
 potential_constant_expression_1 (tree t, bool want_rval, bool strict, bool now,
                                 tsubst_flags_t flags);
-inline tree
-get_nth_callarg (tree t, int n);
 tree
 unshare_constructor (tree t MEM_STAT_DECL);
 void
@@ -3081,7 +3079,7 @@ rs_bind_parameters_in_call (const constexpr_ctx *ctx, 
tree t, tree fun,
       tree type = parms ? TREE_TYPE (parms) : void_type_node;
       if (parms && DECL_BY_REFERENCE (parms))
        type = TREE_TYPE (type);
-      x = get_nth_callarg (t, i);
+      x = CALL_EXPR_ARG (t, i);
 
       if (TREE_ADDRESSABLE (type))
        /* Undo convert_for_arg_passing work here.  */
@@ -4080,17 +4078,6 @@ maybe_constexpr_fn (tree t)
   return (DECL_DECLARED_CONSTEXPR_P (t));
 }
 
-// forked from gcc/cp/constexpr.cc get_nth_callarg
-
-/* We have an expression tree T that represents a call, either CALL_EXPR.
-  Return the Nth argument.  */
-
-inline tree
-get_nth_callarg (tree t, int n)
-{
-  return CALL_EXPR_ARG (t, n);
-}
-
 // forked from gcc/cp/constexpr.cc var_in_maybe_constexpr_fn
 
 /* True if T was declared in a function that might be constexpr: either a
@@ -5808,7 +5795,7 @@ potential_constant_expression_1 (tree t, bool want_rval, 
bool strict, bool now,
                if (DECL_NONSTATIC_MEMBER_FUNCTION_P (fun)
                    && !DECL_CONSTRUCTOR_P (fun))
                  {
-                   tree x = get_nth_callarg (t, 0);
+                   tree x = CALL_EXPR_ARG (t, 0);
 
                    /* Don't require an immediately constant value, as
                       constexpr substitution might not use the value.  */
@@ -5837,7 +5824,7 @@ potential_constant_expression_1 (tree t, bool want_rval, 
bool strict, bool now,
          }
        for (; i < nargs; ++i)
          {
-           tree x = get_nth_callarg (t, i);
+           tree x = CALL_EXPR_ARG (t, i);
            /* In a template, reference arguments haven't been converted to
               REFERENCE_TYPE and we might not even know if the parameter
               is a reference, so accept lvalue constants too.  */
-- 
2.39.1

-- 
Gcc-rust mailing list
Gcc-rust@gcc.gnu.org
https://gcc.gnu.org/mailman/listinfo/gcc-rust

Reply via email to