aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2023-04-04 09:27:29 -0600
committerTom Tromey <tromey@adacore.com>2023-05-12 13:25:28 -0600
commit44a37a985325184e36743685ce496b042da7a816 (patch)
tree4e4a9abf9804aa021e76a51e4e4faf63d2e0d0b6 /gdb
parentff4631e22bfc5d6a76b8d5520abbf0c9c2a57cd4 (diff)
downloadgdb-44a37a985325184e36743685ce496b042da7a816.zip
gdb-44a37a985325184e36743685ce496b042da7a816.tar.gz
gdb-44a37a985325184e36743685ce496b042da7a816.tar.bz2
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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ada-lang.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 403f404..b54ef19 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -5039,7 +5039,7 @@ remove_extra_symbols (std::vector<struct block_symbol> &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<struct block_symbol> &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<struct block_symbol> &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<struct block_symbol> &syms)
== syms[j].symbol->aclass ())
&& syms[i].symbol->value_address ()
== syms[j].symbol->value_address ())
- remove_p = 1;
+ remove_p = true;
}
}