From 5264b957f1251322ecc09e6f2d1f4818b4abf84d Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Mon, 30 Jan 2023 17:31:13 -0700 Subject: [PATCH] binpac: Generate range-based for loops for array cleanup --- tools/binpac/src/pac_array.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/binpac/src/pac_array.cc b/tools/binpac/src/pac_array.cc index 3df4eacd01..215fe37fd8 100644 --- a/tools/binpac/src/pac_array.cc +++ b/tools/binpac/src/pac_array.cc @@ -383,11 +383,10 @@ void ArrayType::GenCleanUpCode(Output* out_cc, Env* env) out_cc->inc_indent(); out_cc->println("{"); - out_cc->println("for ( int i = 0; i < (int) %s->size(); ++i )", env->RValue(value_var())); + out_cc->println("for ( auto* %s : *%s )", env->LValue(elem_var()), + env->RValue(value_var())); out_cc->inc_indent(); out_cc->println("{"); - out_cc->println("%s %s = (*%s)[i];", elemtype_->DataTypeStr().c_str(), - env->LValue(elem_var()), lvalue()); elemtype_->GenCleanUpCode(out_cc, env); out_cc->println("}"); out_cc->dec_indent();