aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2022-11-17 16:50:58 +0100
committerArthur Cohen <arthur.cohen@embecosm.com>2023-02-21 12:36:53 +0100
commit064bbd0fe10437ab0b2b5a386c77c9e285dda760 (patch)
tree10df15f4f52c340858f60ce443c03a004fa57993
parentb9203d82ad276b7eb6b7ecd675da92c1debbc485 (diff)
downloadgcc-064bbd0fe10437ab0b2b5a386c77c9e285dda760.zip
gcc-064bbd0fe10437ab0b2b5a386c77c9e285dda760.tar.gz
gcc-064bbd0fe10437ab0b2b5a386c77c9e285dda760.tar.bz2
gccrs: const evaluator: Remove get_nth_callarg
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.
-rw-r--r--gcc/rust/backend/rust-constexpr.cc19
1 files changed, 3 insertions, 16 deletions
diff --git a/gcc/rust/backend/rust-constexpr.cc b/gcc/rust/backend/rust-constexpr.cc
index 912d73b..4e581a3 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. */