Change lookup_symbol's block_index parameter type to block_enum
authorSimon Marchi <simon.marchi@efficios.com>
Sat, 7 Sep 2019 16:03:56 +0000 (12:03 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Sat, 7 Sep 2019 16:06:01 +0000 (12:06 -0400)
The only two values valid to pass to the block_index parameter of
quick_symbol_functions::lookup_symbol are GLOBAL_BLOCK and STATIC_BLOCK,
part of enum block_enum.  Change the type of that parameter to
block_enum.

Change also the block_index field of dw2_symtab_iterator in the same
way..  This makes it consistent with dw2_debug_names_iterator, which
already uses block_enum for its block_index field.

This is a follow-up to this thread:

https://sourceware.org/ml/gdb-patches/2019-08/msg00097.html

gdb/ChangeLog:

* dwarf2read.c (struct dw2_symtab_iterator) <block_index>:
Change type to gdb::optional<block_enum>.
(dw2_symtab_iter_init): Change block_index parameter type
to gdb::optional<block_enum>.
(dw2_lookup_symbol): Change block_index parameter
type to block_enum.c
(dw2_debug_names_lookup_symbol): Likewise.
* psymtab.c (psym_lookup_symbol): Likewise.
* symfile-debug.c (debug_qf_lookup_symbol): Likewise.
* symfile.h (struct quick_symbol_functions) <lookup_symbol>:
Likewise.

gdb/ChangeLog
gdb/dwarf2read.c
gdb/psymtab.c
gdb/symfile-debug.c
gdb/symfile.h

index acfc888..d5938be 100644 (file)
@@ -1,3 +1,17 @@
+2019-09-07  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2read.c (struct dw2_symtab_iterator) <block_index>:
+       Change type to gdb::optional<block_enum>.
+       (dw2_symtab_iter_init): Change block_index parameter type
+       to gdb::optional<block_enum>.
+       (dw2_lookup_symbol): Change block_index parameter
+       type to block_enum.c
+       (dw2_debug_names_lookup_symbol): Likewise.
+       * psymtab.c (psym_lookup_symbol): Likewise.
+       * symfile-debug.c (debug_qf_lookup_symbol): Likewise.
+       * symfile.h (struct quick_symbol_functions) <lookup_symbol>:
+       Likewise.
+
 2019-09-06  Christian Biesinger  <cbiesinger@google.com>
 
        * defs.h (relocate_gdb_directory): Change int to bool in
index fb888da..69bb5bd 100644 (file)
@@ -3883,7 +3883,7 @@ struct dw2_symtab_iterator
   struct dwarf2_per_objfile *dwarf2_per_objfile;
   /* If set, only look for symbols that match that block.  Valid values are
      GLOBAL_BLOCK and STATIC_BLOCK.  */
-  gdb::optional<int> block_index;
+  gdb::optional<block_enum> block_index;
   /* The kind of symbol we're looking for.  */
   domain_enum domain;
   /* The list of CUs from the index entry of the symbol,
@@ -3905,7 +3905,7 @@ struct dw2_symtab_iterator
 static void
 dw2_symtab_iter_init (struct dw2_symtab_iterator *iter,
                      struct dwarf2_per_objfile *dwarf2_per_objfile,
-                     gdb::optional<int> block_index,
+                     gdb::optional<block_enum> block_index,
                      domain_enum domain,
                      const char *name)
 {
@@ -4018,7 +4018,7 @@ dw2_symtab_iter_next (struct dw2_symtab_iterator *iter)
 }
 
 static struct compunit_symtab *
-dw2_lookup_symbol (struct objfile *objfile, int block_index,
+dw2_lookup_symbol (struct objfile *objfile, block_enum block_index,
                   const char *name, domain_enum domain)
 {
   struct compunit_symtab *stab_best = NULL;
@@ -6004,10 +6004,9 @@ dw2_debug_names_iterator::next ()
 }
 
 static struct compunit_symtab *
-dw2_debug_names_lookup_symbol (struct objfile *objfile, int block_index_int,
+dw2_debug_names_lookup_symbol (struct objfile *objfile, block_enum block_index,
                               const char *name, domain_enum domain)
 {
-  const block_enum block_index = static_cast<block_enum> (block_index_int);
   struct dwarf2_per_objfile *dwarf2_per_objfile
     = get_dwarf2_per_objfile (objfile);
 
index 6f9bf72..70d04f8 100644 (file)
@@ -479,7 +479,7 @@ find_pc_sect_psymbol (struct objfile *objfile,
 
 static struct compunit_symtab *
 psym_lookup_symbol (struct objfile *objfile,
-                   int block_index, const char *name,
+                   block_enum block_index, const char *name,
                    const domain_enum domain)
 {
   const int psymtab_index = (block_index == GLOBAL_BLOCK ? 1 : 0);
index 0f9da66..c5b565f 100644 (file)
@@ -140,8 +140,8 @@ debug_qf_map_symtabs_matching_filename
 }
 
 static struct compunit_symtab *
-debug_qf_lookup_symbol (struct objfile *objfile, int kind, const char *name,
-                       domain_enum domain)
+debug_qf_lookup_symbol (struct objfile *objfile, block_enum kind,
+                       const char *name, domain_enum domain)
 {
   const struct debug_sym_fns_data *debug_data
     = symfile_debug_objfile_data_key.get (objfile);
index 741b085..5e4d2f5 100644 (file)
@@ -179,7 +179,8 @@ struct quick_symbol_functions
      contains !TYPE_OPAQUE symbol prefer its compunit.  If it contains
      only TYPE_OPAQUE symbol(s), return at least that compunit.  */
   struct compunit_symtab *(*lookup_symbol) (struct objfile *objfile,
-                                           int block_index, const char *name,
+                                           block_enum block_index,
+                                           const char *name,
                                            domain_enum domain);
 
   /* Print statistics about any indices loaded for OBJFILE.  The