Simplify calls to init_psymbol_list
[deliverable/binutils-gdb.git] / gdb / dwarf2read.c
index bb8e923b02fd531e84bd4a009ad0db306d0c44c8..9aa33bfec8f67265282ba668cacdccf0a70a80ed 100644 (file)
@@ -1,6 +1,6 @@
 /* DWARF 2 debugging format support for GDB.
 
-   Copyright (C) 1994-2018 Free Software Foundation, Inc.
+   Copyright (C) 1994-2019 Free Software Foundation, Inc.
 
    Adapted by Gary Funck (gary@intrepid.com), Intrepid Technology,
    Inc.  with support from Florida State University (under contract
@@ -6299,9 +6299,7 @@ dwarf2_build_psymtabs (struct objfile *objfile)
   struct dwarf2_per_objfile *dwarf2_per_objfile
     = get_dwarf2_per_objfile (objfile);
 
-  if (objfile->global_psymbols.capacity () == 0
-      && objfile->static_psymbols.capacity () == 0)
-    init_psymbol_list (objfile, 1024);
+  init_psymbol_list (objfile, 1024);
 
   TRY
     {
@@ -6592,13 +6590,7 @@ dwarf2_create_include_psymtab (const char *name, struct partial_symtab *pst,
   subpst->dependencies[0] = pst;
   subpst->number_of_dependencies = 1;
 
-  subpst->globals_offset = 0;
-  subpst->n_global_syms = 0;
-  subpst->statics_offset = 0;
-  subpst->n_static_syms = 0;
-  subpst->compunit_symtab = NULL;
   subpst->read_symtab = pst->read_symtab;
-  subpst->readin = 0;
 
   /* No private part is necessary for include psymtabs.  This property
      can be used to differentiate between such include psymtabs and
@@ -7935,9 +7927,7 @@ create_partial_symtab (struct dwarf2_per_cu_data *per_cu, const char *name)
   struct objfile *objfile = per_cu->dwarf2_per_objfile->objfile;
   struct partial_symtab *pst;
 
-  pst = start_psymtab_common (objfile, name, 0,
-                             objfile->global_psymbols,
-                             objfile->static_psymbols);
+  pst = start_psymtab_common (objfile, name, 0);
 
   pst->psymtabs_addrmap_supported = 1;
 
@@ -8896,7 +8886,7 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
                               built_actual_name != NULL,
                               VAR_DOMAIN, LOC_BLOCK,
                               SECT_OFF_TEXT (objfile),
-                              &objfile->global_psymbols,
+                              psymbol_placement::GLOBAL,
                               addr,
                               cu->language, objfile);
        }
@@ -8906,7 +8896,7 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
                               built_actual_name != NULL,
                               VAR_DOMAIN, LOC_BLOCK,
                               SECT_OFF_TEXT (objfile),
-                              &objfile->static_psymbols,
+                              psymbol_placement::STATIC,
                               addr, cu->language, objfile);
        }
 
@@ -8914,17 +8904,12 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
        set_objfile_main_name (objfile, actual_name, cu->language);
       break;
     case DW_TAG_constant:
-      {
-       std::vector<partial_symbol *> *list;
-
-       if (pdi->is_external)
-         list = &objfile->global_psymbols;
-       else
-         list = &objfile->static_psymbols;
-       add_psymbol_to_list (actual_name, strlen (actual_name),
-                            built_actual_name != NULL, VAR_DOMAIN, LOC_STATIC,
-                            -1, list, 0, cu->language, objfile);
-      }
+      add_psymbol_to_list (actual_name, strlen (actual_name),
+                          built_actual_name != NULL, VAR_DOMAIN, LOC_STATIC,
+                          -1, (pdi->is_external
+                               ? psymbol_placement::GLOBAL
+                               : psymbol_placement::STATIC),
+                          0, cu->language, objfile);
       break;
     case DW_TAG_variable:
       if (pdi->d.locdesc)
@@ -8959,7 +8944,7 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
                                 built_actual_name != NULL,
                                 VAR_DOMAIN, LOC_STATIC,
                                 SECT_OFF_TEXT (objfile),
-                                &objfile->global_psymbols,
+                                psymbol_placement::GLOBAL,
                                 addr, cu->language, objfile);
        }
       else
@@ -8978,7 +8963,7 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
                               built_actual_name != NULL,
                               VAR_DOMAIN, LOC_STATIC,
                               SECT_OFF_TEXT (objfile),
-                              &objfile->static_psymbols,
+                              psymbol_placement::STATIC,
                               has_loc ? addr : 0,
                               cu->language, objfile);
        }
@@ -8989,7 +8974,7 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
       add_psymbol_to_list (actual_name, strlen (actual_name),
                           built_actual_name != NULL,
                           VAR_DOMAIN, LOC_TYPEDEF, -1,
-                          &objfile->static_psymbols,
+                          psymbol_placement::STATIC,
                           0, cu->language, objfile);
       break;
     case DW_TAG_imported_declaration:
@@ -8997,14 +8982,14 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
       add_psymbol_to_list (actual_name, strlen (actual_name),
                           built_actual_name != NULL,
                           VAR_DOMAIN, LOC_TYPEDEF, -1,
-                          &objfile->global_psymbols,
+                          psymbol_placement::GLOBAL,
                           0, cu->language, objfile);
       break;
     case DW_TAG_module:
       add_psymbol_to_list (actual_name, strlen (actual_name),
                           built_actual_name != NULL,
                           MODULE_DOMAIN, LOC_TYPEDEF, -1,
-                          &objfile->global_psymbols,
+                          psymbol_placement::GLOBAL,
                           0, cu->language, objfile);
       break;
     case DW_TAG_class_type:
@@ -9029,8 +9014,8 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
                           built_actual_name != NULL,
                           STRUCT_DOMAIN, LOC_TYPEDEF, -1,
                           cu->language == language_cplus
-                          ? &objfile->global_psymbols
-                          : &objfile->static_psymbols,
+                          ? psymbol_placement::GLOBAL
+                          : psymbol_placement::STATIC,
                           0, cu->language, objfile);
 
       break;
@@ -9039,8 +9024,8 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
                           built_actual_name != NULL,
                           VAR_DOMAIN, LOC_CONST, -1,
                           cu->language == language_cplus
-                          ? &objfile->global_psymbols
-                          : &objfile->static_psymbols,
+                          ? psymbol_placement::GLOBAL
+                          : psymbol_placement::STATIC,
                           0, cu->language, objfile);
       break;
     default:
@@ -18448,7 +18433,7 @@ load_partial_dies (const struct die_reader_specs *reader,
          if (building_psymtab && pdi.name != NULL)
            add_psymbol_to_list (pdi.name, strlen (pdi.name), 0,
                                 VAR_DOMAIN, LOC_TYPEDEF, -1,
-                                &objfile->static_psymbols,
+                                psymbol_placement::STATIC,
                                 0, cu->language, objfile);
          info_ptr = locate_pdi_sibling (reader, &pdi, info_ptr);
          continue;
@@ -18483,8 +18468,8 @@ load_partial_dies (const struct die_reader_specs *reader,
            add_psymbol_to_list (pdi.name, strlen (pdi.name), 0,
                                 VAR_DOMAIN, LOC_CONST, -1,
                                 cu->language == language_cplus
-                                ? &objfile->global_psymbols
-                                : &objfile->static_psymbols,
+                                ? psymbol_placement::GLOBAL
+                                : psymbol_placement::STATIC,
                                 0, cu->language, objfile);
 
          info_ptr = locate_pdi_sibling (reader, &pdi, info_ptr);
@@ -25120,7 +25105,6 @@ dwarf2_find_containing_comp_unit (sect_offset sect_off,
 {
   struct dwarf2_per_cu_data *this_cu;
   int low, high;
-  const sect_offset *cu_off;
 
   low = 0;
   high = dwarf2_per_objfile->all_comp_units.size () - 1;
@@ -25130,18 +25114,16 @@ dwarf2_find_containing_comp_unit (sect_offset sect_off,
       int mid = low + (high - low) / 2;
 
       mid_cu = dwarf2_per_objfile->all_comp_units[mid];
-      cu_off = &mid_cu->sect_off;
       if (mid_cu->is_dwz > offset_in_dwz
          || (mid_cu->is_dwz == offset_in_dwz
-             && *cu_off + mid_cu->length >= sect_off))
+             && mid_cu->sect_off + mid_cu->length >= sect_off))
        high = mid;
       else
        low = mid + 1;
     }
   gdb_assert (low == high);
   this_cu = dwarf2_per_objfile->all_comp_units[low];
-  cu_off = &this_cu->sect_off;
-  if (this_cu->is_dwz != offset_in_dwz || *cu_off > sect_off)
+  if (this_cu->is_dwz != offset_in_dwz || this_cu->sect_off > sect_off)
     {
       if (low == 0 || this_cu->is_dwz != offset_in_dwz)
        error (_("Dwarf Error: could not find partial DIE containing "
This page took 0.032548 seconds and 4 git commands to generate.