]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Simplify some symbol searches in linespec.c
authorTom Tromey <tom@tromey.com>
Fri, 1 Sep 2023 20:05:04 +0000 (14:05 -0600)
committerTom Tromey <tom@tromey.com>
Sun, 28 Jan 2024 17:58:16 +0000 (10:58 -0700)
This simplifies some symbol searches in linespec.c.  In particular,
two separate searches here can now be combined into one, due to the
new use of flags.

Arguably the STRUCT_DOMAIN searches should perhaps not even be done.
Only C really has these, and C doesn't have member functions.
However, it seems relatively harmless -- and clearly compatible -- to
leave this in.

gdb/linespec.c

index 4e43bf28a67617d90424eaeccb0ec40ab3fdb519..b5bbd8c433c91a9c76a98c7ed776e95c52f72fd5 100644 (file)
@@ -3446,14 +3446,9 @@ lookup_prefix_sym (struct linespec_state *state,
   for (const auto &elt : file_symtabs)
     {
       if (elt == nullptr)
-       {
-         iterate_over_all_matching_symtabs (state, lookup_name,
-                                            SEARCH_STRUCT_DOMAIN,
-                                            NULL, false, collector);
-         iterate_over_all_matching_symtabs (state, lookup_name,
-                                            SEARCH_VFT,
-                                            NULL, false, collector);
-       }
+       iterate_over_all_matching_symtabs (state, lookup_name,
+                                          SEARCH_STRUCT_DOMAIN | SEARCH_VFT,
+                                          NULL, false, collector);
       else
        {
          /* Program spaces that are executing startup should have
@@ -3463,10 +3458,7 @@ lookup_prefix_sym (struct linespec_state *state,
          gdb_assert (!pspace->executing_startup);
          set_current_program_space (pspace);
          iterate_over_file_blocks (elt, lookup_name,
-                                   SEARCH_STRUCT_DOMAIN,
-                                   collector);
-         iterate_over_file_blocks (elt, lookup_name,
-                                   SEARCH_VFT,
+                                   SEARCH_STRUCT_DOMAIN | SEARCH_VFT,
                                    collector);
        }
     }