From: Tom Tromey Date: Tue, 4 Apr 2023 15:27:29 +0000 (-0600) Subject: Use bool and early loop exit in remove_extra_symbols X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=44a37a985325184e36743685ce496b042da7a816;p=binutils-gdb.git 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. --- 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; } }