From 44a37a985325184e36743685ce496b042da7a816 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 4 Apr 2023 09:27:29 -0600 Subject: [PATCH] Use bool and early loop exit in remove_extra_symbols This changes remove_extra_symbols to use bool rather than int, and changes the nested loops to exit early when "remove_p" is set. --- gdb/ada-lang.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 403f404ca09..b54ef19ad6a 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -5039,7 +5039,7 @@ remove_extra_symbols (std::vector &syms) i = 0; while (i < syms.size ()) { - int remove_p = 0; + bool remove_p = false; /* If two symbols have the same name and one of them is a stub type, the get rid of the stub. */ @@ -5047,14 +5047,14 @@ remove_extra_symbols (std::vector &syms) if (syms[i].symbol->type ()->is_stub () && syms[i].symbol->linkage_name () != NULL) { - for (j = 0; j < syms.size (); j++) + for (j = 0; !remove_p && j < syms.size (); j++) { if (j != i && !syms[j].symbol->type ()->is_stub () && syms[j].symbol->linkage_name () != NULL && strcmp (syms[i].symbol->linkage_name (), syms[j].symbol->linkage_name ()) == 0) - remove_p = 1; + remove_p = true; } } @@ -5065,7 +5065,7 @@ remove_extra_symbols (std::vector &syms) && syms[i].symbol->aclass () == LOC_STATIC && is_nondebugging_type (syms[i].symbol->type ())) { - for (j = 0; j < syms.size (); j += 1) + for (j = 0; !remove_p && j < syms.size (); j += 1) { if (i != j && syms[j].symbol->linkage_name () != NULL @@ -5075,7 +5075,7 @@ remove_extra_symbols (std::vector &syms) == syms[j].symbol->aclass ()) && syms[i].symbol->value_address () == syms[j].symbol->value_address ()) - remove_p = 1; + remove_p = true; } } -- 2.30.2