Use block_enum instead of int for better typesafety
authorChristian Biesinger <cbiesinger@google.com>
Thu, 11 Jul 2019 18:35:13 +0000 (13:35 -0500)
committerChristian Biesinger <cbiesinger@google.com>
Mon, 22 Jul 2019 03:23:12 +0000 (22:23 -0500)
gdb/ChangeLog:

2019-07-21  Christian Biesinger  <cbiesinger@google.com>

* symtab.c (lookup_symbol_in_objfile_symtabs): Change int to block_enum.
(lookup_symbol_in_objfile): Change int to block_enum and add a
gdb_assert to make sure block_index is GLOBAL_BLOCK or STATIC_BLOCK.

gdb/symtab.c

index 719e5b2ee9a2f7bf472487f231971c21af151b2b..ce1cdcf9e70e4faa38a2b01da20ef28fd049b26b 100644 (file)
@@ -92,7 +92,8 @@ struct block_symbol lookup_local_symbol (const char *name,
                                         enum language language);
 
 static struct block_symbol
-  lookup_symbol_in_objfile (struct objfile *objfile, int block_index,
+  lookup_symbol_in_objfile (struct objfile *objfile,
+                           enum block_enum block_index,
                            const char *name, const domain_enum domain);
 
 /* Type of the data stored on the program space.  */
@@ -2244,8 +2245,9 @@ lookup_global_symbol_from_objfile (struct objfile *main_objfile,
    static symbols.  */
 
 static struct block_symbol
-lookup_symbol_in_objfile_symtabs (struct objfile *objfile, int block_index,
-                                 const char *name, const domain_enum domain)
+lookup_symbol_in_objfile_symtabs (struct objfile *objfile,
+                                 enum block_enum block_index, const char *name,
+                                 const domain_enum domain)
 {
   gdb_assert (block_index == GLOBAL_BLOCK || block_index == STATIC_BLOCK);
 
@@ -2516,11 +2518,13 @@ lookup_symbol_in_static_block (const char *name,
    BLOCK_INDEX is one of GLOBAL_BLOCK or STATIC_BLOCK.  */
 
 static struct block_symbol
-lookup_symbol_in_objfile (struct objfile *objfile, int block_index,
+lookup_symbol_in_objfile (struct objfile *objfile, enum block_enum block_index,
                          const char *name, const domain_enum domain)
 {
   struct block_symbol result;
 
+  gdb_assert (block_index == GLOBAL_BLOCK || block_index == STATIC_BLOCK);
+
   if (symbol_lookup_debug)
     {
       fprintf_unfiltered (gdb_stdlog,