From 8b2ac9b21649a9c7f9edecfd817e9d10f20158c0 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 28 Aug 2023 12:52:54 -0600 Subject: [PATCH] Remove another redundant variable from array_operation::evaluate This removes yet another redundant variable from array_operation::evaluate -- only one index is needed. Reviewed-by: John Baldwin Approved-By: Simon Marchi --- gdb/eval.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/gdb/eval.c b/gdb/eval.c index 710506ef778..8dd1b530d06 100644 --- a/gdb/eval.c +++ b/gdb/eval.c @@ -2419,7 +2419,7 @@ array_operation::evaluate (struct type *expect_type, struct type *element_type = type->target_type (); struct value *array = value::allocate (expect_type); int element_size = check_typedef (element_type)->length (); - LONGEST low_bound, high_bound, index; + LONGEST low_bound, high_bound; if (!get_discrete_bounds (range_type, &low_bound, &high_bound)) { @@ -2428,21 +2428,17 @@ array_operation::evaluate (struct type *expect_type, } if (low_bound + nargs - 1 > high_bound) error (_("Too many array elements")); - index = low_bound; memset (array->contents_raw ().data (), 0, expect_type->length ()); - for (int tem = 0; tem < nargs; ++tem) + for (int idx = 0; idx < nargs; ++idx) { struct value *element; - element = in_args[index - low_bound]->evaluate (element_type, - exp, noside); + element = in_args[idx]->evaluate (element_type, exp, noside); if (element->type () != element_type) element = value_cast (element_type, element); - memcpy (array->contents_raw ().data () - + (index - low_bound) * element_size, + memcpy (array->contents_raw ().data () + idx * element_size, element->contents ().data (), element_size); - index++; } return array; } -- 2.30.2