From 0f2d28db8e9c7a6b598370a2a93bcb9ae7f0df96 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 28 Aug 2023 12:42:51 -0600 Subject: [PATCH] Declare 'tem' in loop header in array_operation::evaluate This changes array_operation::evaluate to declare the 'tem' variable in the loop header, rather than at the top of the function. This is cleaner and easier to reason about. I also changed 'nargs' to be 'const'. Reviewed-by: John Baldwin Approved-By: Simon Marchi --- gdb/eval.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gdb/eval.c b/gdb/eval.c index 00b9231a5b9..63c414e546e 100644 --- a/gdb/eval.c +++ b/gdb/eval.c @@ -2397,11 +2397,10 @@ array_operation::evaluate (struct type *expect_type, struct expression *exp, enum noside noside) { - int tem; int tem2 = std::get<0> (m_storage); int tem3 = std::get<1> (m_storage); const std::vector &in_args = std::get<2> (m_storage); - int nargs = tem3 - tem2 + 1; + const int nargs = tem3 - tem2 + 1; struct type *type = expect_type ? check_typedef (expect_type) : nullptr; if (expect_type != nullptr @@ -2429,7 +2428,7 @@ array_operation::evaluate (struct type *expect_type, } index = low_bound; memset (array->contents_raw ().data (), 0, expect_type->length ()); - for (tem = nargs; --nargs >= 0;) + for (int tem = 0; tem < nargs; ++tem) { struct value *element; @@ -2467,7 +2466,7 @@ array_operation::evaluate (struct type *expect_type, error (_("(power)set type with unknown size")); memset (valaddr, '\0', type->length ()); int idx = 0; - for (tem = 0; tem < nargs; tem++) + for (int tem = 0; tem < nargs; tem++) { LONGEST range_low, range_high; struct type *range_low_type, *range_high_type; @@ -2516,7 +2515,7 @@ array_operation::evaluate (struct type *expect_type, } std::vector argvec (nargs); - for (tem = 0; tem < nargs; tem++) + for (int tem = 0; tem < nargs; tem++) { /* Ensure that array expressions are coerced into pointer objects. */ -- 2.30.2