From: Tom Tromey Date: Tue, 22 May 2018 05:30:47 +0000 (-0600) Subject: Set list_in_scope later in DWARF reader X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=93b8bea4143cafae79076076c64aaa4c46a9b73c;p=deliverable%2Fbinutils-gdb.git Set list_in_scope later in DWARF reader Currently the DWARF reader sets the list_in_scope member of the CU when first starting to process symbols. Future changes will make this assert -- code will not be able to refer to these lists until after start_symtab has been called. This patch prepares for the problem by arranging to initialize list_in_scope in dwarf2_start_symtab. gdb/ChangeLog 2018-07-20 Tom Tromey * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope. (process_full_type_unit): Likewise. (dwarf2_start_symtab): Set list_in_scope. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 96b54fbaeb..08c73904a6 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2018-07-20 Tom Tromey + + * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope. + (process_full_type_unit): Likewise. + (dwarf2_start_symtab): Set list_in_scope. + 2018-07-20 Tom Tromey * dwarf2read.c (process_psymtab_comp_unit_reader) diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index bdd1c9a3b4..b73c06e69c 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -10247,8 +10247,6 @@ process_full_comp_unit (struct dwarf2_per_cu_data *per_cu, /* Clear the list here in case something was left over. */ cu->method_list.clear (); - cu->list_in_scope = &file_symbols; - cu->language = pretend_language; cu->language_defn = language_def (cu->language); @@ -10352,8 +10350,6 @@ process_full_type_unit (struct dwarf2_per_cu_data *per_cu, /* Clear the list here in case something was left over. */ cu->method_list.clear (); - cu->list_in_scope = &file_symbols; - cu->language = pretend_language; cu->language_defn = language_def (cu->language); @@ -21019,6 +21015,8 @@ dwarf2_start_symtab (struct dwarf2_cu *cu, = start_symtab (cu->per_cu->dwarf2_per_objfile->objfile, name, comp_dir, low_pc, cu->language); + cu->list_in_scope = &file_symbols; + record_debugformat ("DWARF 2"); record_producer (cu->producer);