sim/cgen: initialize variable at creation in engine_run_n

Zero initialize engine_fns entirely at creation, then override those
fields we intend to use, rather than zero just initializing the unused
fields later on.

There should be no user visible changes after this commit.
This commit is contained in:
Andrew Burgess
2022-10-24 16:55:07 +01:00
parent 48ca567692
commit a09f33be65

View File

@ -229,7 +229,9 @@ static void
engine_run_n (SIM_DESC sd, int next_cpu_nr, int nr_cpus, int max_insns, int fast_p)
{
int i;
ENGINE_FN *engine_fns[MAX_NR_PROCESSORS];
/* Ensure that engine_fns is fully initialized, this silences a compiler
warning when engine_fns is used below. */
ENGINE_FN *engine_fns[MAX_NR_PROCESSORS] = {};
SIM_ASSERT (nr_cpus <= MAX_NR_PROCESSORS);
SIM_ASSERT (next_cpu_nr >= 0 && next_cpu_nr < nr_cpus);
@ -242,11 +244,6 @@ engine_run_n (SIM_DESC sd, int next_cpu_nr, int nr_cpus, int max_insns, int fast
prime_cpu (cpu, max_insns);
}
/* Ensure the remaining engine_fns slots are initialized, this silences a
compiler warning when engine_fns is used below. */
for (i = nr_cpus; i < MAX_NR_PROCESSORS; ++i)
engine_fns[i] = NULL;
while (1)
{
SIM_ENGINE_PREFIX_HOOK (sd);