summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Burgess <aburgess@redhat.com>2022-10-24 16:55:07 +0100
committerAndrew Burgess <aburgess@redhat.com>2022-10-27 16:52:07 +0100
commita09f33be653fb112586be126f3d5ab848aaed095 (patch)
tree216896ce061041669dd1bd5b600bbf2ea0bcd6a5
parent48ca5676924d2609f1b9ea1990719c9eb41e88a2 (diff)
downloadbinutils-gdb-a09f33be653fb112586be126f3d5ab848aaed095.tar.gz
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.
-rw-r--r--sim/common/cgen-run.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/sim/common/cgen-run.c b/sim/common/cgen-run.c
index a9a493c01b9..b6400a69c13 100644
--- a/sim/common/cgen-run.c
+++ b/sim/common/cgen-run.c
@@ -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);