aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2read.c
AgeCommit message (Collapse)AuthorFilesLines
2010-08-132010-08-13 Hui Zhu <teawater@gmail.com>Hui Zhu1-2/+2
* dwarf2read.c (load_partial_comp_unit): Initialize free_cu_cleanup. (read_comp_unit): Initialize back_to.
2010-08-122010-08-12 Daniel Jacobowitz <dan@codesourcery.com>Pedro Alves1-115/+485
Pedro Alves <pedro@codesourcery.com> * dwarf2read.c: Include "c-lang.h" and "valprint.h". (struct dwarf2_per_objfile) <reading_partial_symbols>: New field. (struct partial_die_info) <has_template_arguments>: New field. <num_attrs>: Change type to unsigned char. <building_fullname>: New field. (dwarf2_build_psymtabs_hard): Set reading_partial_symbols. Only allocate a CU if we don't have one already. Add a cleanup for the CU. (partial_die_full_name): Handle template arguments not in DW_AT_name. (dwarf2_psymtab_to_symtab): Clear reading_partial_symbols. (load_full_comp_unit): Only allocate a CU if we don't have one already. (do_ui_file_peek_last): New. (dwarf2_compute_name): Handle template parameters not in DW_AT_name. (read_comp_unit): Read and free abbrevs if not read yet. (load_partial_dies): Handle template arguments not in DW_AT_name. (find_partial_die): If we have a CU, but no a partial dies yet, also read in the CU. (dwarf2_const_value_attr): New, abstracted out from dwarf2_const_value. (dwarf2_const_value, dwarf2_const_value_data): Adjust to use dwarf2_const_value_attr. (determine_prefix): Detect and break loops created by RCVT's debug info. (maybe_queue_comp_unit): Bail out early if reading partial symbols. (follow_die_offset): Load full CU if we have no dies. * dwarf2loc.c (dwarf2_evaluate_loc_desc): Make public. * dwarf2loc.h (dwarf2_evaluate_loc_desc): Declare.
2010-08-09Complete symbol construction before adding to pending list.Sami Wagiaalla1-48/+25
2010-08-09 Sami Wagiaalla <swagiaal@redhat.com> * dwarf2read.c (new_symbol): Add symbol to variable list at end of function after symbol construction is complete. Do the same for template symbol addition to template_symbols list.
2010-08-09create and use symbol_set_language.Sami Wagiaalla1-1/+1
2010-08-09 Sami Wagiaalla <swagiaal@redhat.com> * symtab.h: Renamed SYMBOL_INIT_LANGUAGE_SPECIFIC to SYMBOL_SET_LANGUAGE. (symbol_init_language_specific): Renamed to symbol_set_language. * symtab.c (symbol_init_language_specific): Removed redundant check for language_cplus. Renamed to symbol_set_language. * stabsread.c (define_symbol): Updated. (read_enum_type): Updated * psymtab.c (add_psymbol_to_bcache): Updated. * minsyms.c (install_minimal_symbols): Updated. * coffread.c (process_coff_symbol): SYMBOL_SET_LANGUAGE instead of SYMBOL_LANGUAGE to set the language. * minsyms.c (prim_record_minimal_symbol_full): Ditto. * mdebugread.c (new_symbol): Ditto. * cp-namespace.c (check_one_possible_namespace_symbol): Ditto. * dwarf2read.c (new_symbol_full): Ditto. * jv-lang.c (add_class_symbol): Ditto.
2010-08-03 * dwarf2read.c (dwarf_attr_name): Add DW_AT_GNU_odr_signature.Doug Evans1-0/+2
2010-07-28 * dwarf2read.c (dwarf2_const_value_data): Never sign extend.Tom Tromey1-8/+8
2010-07-282010-07-28 Daniel Jacobowitz <dan@codesourcery.com>Pedro Alves1-6/+45
gdb/ * dwarf2read.c (read_subroutine_type): Improve THIS detection, handling DW_AT_object_pointer, and workaround GCC PR 43053. gdb/testsuite/ * gdb.cp/member-ptr.exp, gdb.cp/printmethod.exp, gdb.dwarf2/member-ptr-forwardref.exp: Adjust.
2010-07-28gdbTom Tromey1-19/+142
PR c++/9946: * symfile.c (reread_symbols): Clear template_symbols. * symtab.h (struct symbol) <is_cplus_template_function>: New field. (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): New macro. (struct template_symbol): New. * symtab.c (lookup_symbol_aux_local): Use cp_lookup_symbol_imports_or_template. * objfiles.h (struct objfile) <template_symbols>: New field. * objfiles.c (relocate_one_symbol): New function. (objfile_relocate1): Use it. Relocate isolated symbols. * gdbtypes.h (struct cplus_struct_type) <n_template_arguments, template_arguments>: New fields. (TYPE_N_TEMPLATE_ARGUMENTS): New macro. (TYPE_TEMPLATE_ARGUMENTS): Likewise. (TYPE_TEMPLATE_ARGUMENT): Likewise. (lookup_typename): Update. * gdbtypes.c (lookup_typename): Constify "block" argument. * dwarf2read.c: Include vec.h. (symbolp): New typedef. (read_func_scope): Read template arguments. Allocate a template_symbol when needed. (read_structure_type): Read template arguments. (new_symbol_full): New function, from new_symbol. Handle DW_TAG_template_type_param and DW_TAG_template_value_param. (new_symbol): Rewrite as wrapper. * cp-support.h (cp_lookup_symbol_imports_or_template): Declare. * cp-namespace.c: Include language.h. (search_symbol_list): New function. (cp_lookup_symbol_imports_or_template): Likewise. gdb/testsuite PR c++/9946: * gdb.cp/temargs.exp: New file. * gdb.cp/temargs.cc: New file.
2010-07-27 * dwarf2read.c (read_string): Rename to ...Pedro Alves1-11/+11
(read_direct_string): ... this. (skip_one_die, read_attribute_value, dwarf_decode_line_header) (dwarf_decode_lines, dwarf_decode_macros): Adjust.
2010-07-27ARI fix (trailing newline in warning message).Joel Brobecker1-1/+1
* dwarf2read.c (dw2_find_pc_sect_symtab): Remove trailing newline in warning message.
2010-07-27* valops.c (dwarf2_read_index): Initialize the types_list and ↵Ken Werner1-2/+4
types_list_elements variables.
2010-07-26gdb/Jerome Guitton1-5/+23
* dwarf2read.c (add_partial_symbol): Do not add a global variable if its adress is null. Add comment to explain why. (new_symbol): Ditto.
2010-07-23 * dwarf2read.c (struct dwarf2_per_objfile) <n_type_comp_units,Tom Tromey1-58/+294
type_comp_units>: New fields. (dw2_get_cu): New function. (create_cus_from_index): Remove unused argument. (create_signatured_type_hash_from_index): New function. (create_addrmap_from_index): Update. (dwarf2_read_index): Handle version 2. (dw2_find_last_source_symtab, dw2_forget_cached_source_info) (dw2_lookup_symtab, dw2_do_expand_symtabs_matching) (dw2_print_stats, dw2_expand_all_symtabs) (dw2_expand_symtabs_with_filename, dw2_find_symbol_file) (dw2_expand_symtabs_matching, dw2_map_symbol_filenames): Update. (dwarf2_initialize_objfile): Call create_debug_types_hash_table. (allocate_signatured_type_hash_table): New function. (add_signatured_type_cu_to_list): Likewise. (create_debug_types_hash_table): Use them. Set type_comp_units. (read_signatured_type): Ensure section data is available. (add_address_entry): Don't record empty ranges. (struct signatured_type_index_data): New. (write_one_signatured_type): New function. (write_psymtabs_to_index): Write type CUs. (save_gdb_index_command): Update comment. (process_type_comp_unit): Move inititalization of from_debug_types... (create_debug_types_hash_table): ... here.
2010-07-23 * dwarf2read.c: Remove unused typedef dwarf2_cu_per_cu_data_ptrKeith Seitz1-3/+0
and vector definition.
2010-07-22gdb/Jan Kratochvil1-4/+8
* dwarf2read.c: Include completer.h. (save_gdb_index_command): Use matching usage command name. (_initialize_dwarf2_read): New variable c, initialize it by add_cmd. Set filename_completer for it.
2010-07-22 * dwarf2read.c (create_debug_types_hash_table): Set objfile onTom Tromey1-0/+1
type signature's per-CU data.
2010-07-21gdb/Pedro Alves1-4/+0
2010-07-21 Pedro Alves <pedro@codesourcery.com> PR symtab/11827 Revert: 2010-05-21 Pierre Muller <muller@ics.u-strasbg.fr> * dwarf2read.c (process_die): Also allow DW_TAG_const_type and DW_TAG_volatile_type. (new_symbol): Likewise. gdb/testsuite/ 2010-07-21 Pedro Alves <pedro@codesourcery.com> PR symtab/11827 * gdb.base/printcmds.c (enum some_volatile_enum): New enum. (some_volatile_enum): New variable. * gdb.base/printcmds.exp (test_print_enums): New. <top level>: Call it.
2010-07-16Use allocated cplus_specific for cplus symbols.Sami Wagiaalla1-1/+3
2010-07-16 Sami Wagiaalla <swagiaal@redhat.com> * symtab.h (symbol_set_demangled_name): Now takes an optional objfile* argument. (cplus_specific): New struct. * symtab.c (symbol_set_demangled_name): Updated. Use cplus_specific for cplus symbols. (symbol_get_demangled_name): Retrive the name from the cplus_specific struct for cplus symbols. (symbol_init_language_specific): Set cplus_specific for cplus symbols. (symbol_set_names): Pass objfile to symbol_set_demangled_name. * symtab.c (symbol_init_cplus_specific): New function.
2010-07-16Use setter and getter for demangled_name.Sami Wagiaalla1-3/+2
2010-07-16 Sami Wagiaalla <swagiaal@redhat.com> * symtab.h (symbol_set_demangled_name): New function. (symbol_get_demangled_name): New function. * symtab.c (symbol_set_demangled_name): New function. (symbol_get_demangled_name): New function. (symbol_init_language_specific): Use demangled_name setter and getter. (symbol_set_names): Ditto. (symbol_natural_name): Ditto. (symbol_demangled_name): Ditto. * dwarf2read.c (new_symbol): Ditto.
2010-07-16Rename cplus_specific mangled_lang.Sami Wagiaalla1-2/+2
2010-07-16 Sami Wagiaalla <swagiaal@redhat.com> * symtab.h: Renamed cplus_specific to mangled_lang. * symtab.c (symbol_init_language_specific): Updated. (symbol_set_names): Updated. (symbol_natural_name): Updated. (symbol_demangled_name): Updated. * ada-lang.c (ada_decode_symbol): Updated. * dwarf2read.c (new_symbol): Updated.
2010-07-13 * dwarf2read.c (dwarf2_read_index): Correctly set 'total_size'.Tom Tromey1-5/+2
2010-07-13 * dwarf2read.c (dwarf2_per_cu_text_offset): Fix reference toTom Tromey1-1/+1
objfile.
2010-07-13 * symfile.c (set_initial_language): Update.Tom Tromey1-3/+2
(deduce_language_from_filename): Argument type now const. * symtab.h (find_main_filename): Update. (deduce_language_from_filename): Update. * symtab.c (find_main_filename): Make result const. * dwarf2read.c (dw2_find_symbol_file): Change return type. * psymtab.c (find_symbol_file_from_partial): Change return type. * symfile.h (struct quick_symbol_functions) <find_symbol_file>: Make result const.
2010-07-13gdbTom Tromey1-60/+1635
* breakpoint.c (save_cmdlist): No longer static. * gdbcmd.h (save_cmdlist): Declare. * symfile.c (symbol_file_add_with_addrs_or_offsets): Set OBJF_READNOW on objfile if readnow_symbol_files. * elfread.c (elf_symfile_read): Use dwarf2_initialize_objfile. (elf_sym_fns_gdb_index): New global. * dwarf2read.c: Include exceptions.h. (offset_type): New. (struct mapped_index): New. (dwarf2_per_cu_data_ptr): New typedef. (struct dwarf2_per_objfile) <using_index, index_table, gdb_index>: New fields. (GDB_INDEX_SECTION): New define. (struct dwarf2_per_cu_quick_data): New. (struct dwarf2_per_cu_data) <objfile>: New field. <psymtab>: Removed. <v>: New field. (byte_swap): New function. (MAYBE_SWAP): New macro. (INDEX_SUFFIX): New macro. (dw2_do_instantiate_symtab): New function. (dw2_instantiate_symtab): Likewise. (create_cus_from_index): Likewise. (create_addrmap_from_index): Likewise. (mapped_index_string_hash): Likewise. (find_slot_in_mapped_hash): Likewise. (dwarf2_read_index): Likewise. (dw2_setup): Likewise. (dw2_require_line_header): Likewise. (dw2_require_full_path): Likewise. (dw2_find_last_source_symtab): Likewise. (dw2_forget_cached_source_info): Likewise. (dw2_lookup_symtab): Likewise. (dw2_lookup_symbol): Likewise. (dw2_do_expand_symtabs_matching): Likewise. (dw2_pre_expand_symtabs_matching): Likewise. (dw2_print_stats): Likewise. (dw2_dump): Likewise. (dw2_relocate): Likewise. (dw2_expand_symtabs_for_function): Likewise. (dw2_expand_all_symtabs): Likewise. (dw2_expand_symtabs_with_filename): Likewise. (dw2_find_symbol_file): Likewise. (dw2_map_ada_symtabs): Likewise. (dw2_expand_symtabs_matching): Likewise. (dw2_find_pc_sect_symtab): Likewise. (dw2_map_symbol_names): Likewise. (dw2_map_symbol_filenames): Likewise. (dw2_has_symbols): Likewise. (dwarf2_gdb_index_functions): New global. (dwarf2_initialize_objfile): New function. (process_psymtab_comp_unit): Update. (add_partial_subprogram): Likewise. (dwarf2_psymtab_to_symtab): Likewise. (psymtab_to_symtab_1): Use dw2_do_instantiate_symtab. (process_full_comp_unit): Update. (find_file_and_directory): New function. (read_file_scope): Use find_file_and_directory. (dwarf2_per_cu_objfile): Update. (dwarf2_per_cu_addr_size): Update. (dwarf2_per_cu_offset_size): Update. (dwarf2_free_objfile): Free the index, if needed. (dwarf2_per_objfile_free): Unmap the index, if needed. (struct strtab_entry): New. (hash_strtab_entry): New function. (eq_strtab_entry): Likewise. (create_strtab): Likewise. (add_string): Likewise. (struct symtab_index_entry): New. (struct mapped_symtab): New. (hash_symtab_entry): New function. (eq_symtab_entry): Likewise. (delete_symtab_entry): Likewise. (create_index_table): Likewise. (create_mapped_symtab): Likewise. (cleanup_mapped_symtab): Likewise. (find_slot): Likewise. (hash_expand): Likewise. (add_index_entry): Likewise. (add_indices_to_cpool): Likewise. (write_hash_table): Likewise. (add_address_entry): Likewise. (write_psymbols): Likewise. (write_obstack): Likewise. (unlink_if_set): Likewise. (write_psymtabs_to_index): Likewise. (save_gdb_index_command): Likewise. (_initialize_dwarf2_read): Install "save gdb-index" command. (create_all_comp_units): Initialize 'objfile' field of CU. (dwarf2_locate_sections): Check for .gdb_index. * psymtab.h (dwarf2_gdb_index_functions): Declare. * symfile.h (dwarf2_initialize_objfile): Declare. gdb/doc * gdb.texinfo (Index Files): New node.
2010-07-13gdbTom Tromey1-0/+3
PR breakpoints/8357: * symtab.h (domain_enum_tag) <LABEL_DOMAIN>: Update comment. * linespec.c (decode_line_1): Update comment. Call decode_label. (decode_label): New function. (symbol_found): Handle LOC_LABEL. * dwarf2read.c (new_symbol) <DW_TAG_label>: Set symbol's type and domain. Call add_symbol_to_list. gdb/doc * gdb.texinfo (Specify Location): Document labels. gdb/testsuite * gdb.base/label.exp: New file. * gdb.base/label.c: New file.
2010-07-13 * dwarf2loc.h (dwarf2_per_cu_text_offset): Declare.Tom Tromey1-1/+16
* dwarf2loc.c (find_location_expression): Use dwarf2_per_cu_text_offset. (dwarf2_evaluate_loc_desc): Likewise. (dwarf2_loc_desc_needs_frame): Likewise. (compile_dwarf_to_ax): Likewise. (loclist_describe_location): Likewise. * dwarf2read.c (dwarf2_per_cu_text_offset): New function. (dwarf2_per_cu_objfile): Update comment.
2010-07-12gdb/Jan Kratochvil1-0/+2
* dwarf2read.c (read_subrange_type): Call read_subrange_type. * p-lang.c (pascal_printstr): Likewise.
2010-07-07 * dwarf2read.c (dwarf2_const_value) <DW_form_addr>: Create aTom Tromey1-12/+30
LOC_COMPUTED symbol. * dwarf2loc.c (dwarf2_evaluate_loc_desc): Set new field. (dwarf2_loc_desc_needs_frame): Likewise. (compile_dwarf_to_ax) <DW_OP_addr>: Use offset. * dwarf2expr.h (struct dwarf_expr_context) <offset>: New field. * dwarf2expr.c (execute_stack_op) <DW_OP_addr>: Use offset. * dwarf2-frame.c (execute_stack_op): Set 'offset' field. Add 'offset' argument. (struct dwarf2_frame_cache) <text_offset>: New field. (dwarf2_frame_cache): Set new field. (dwarf2_frame_prev_register): Update. (dwarf2_frame_sniffer): Update. (dwarf2_frame_base_sniffer): Update. (dwarf2_frame_find_fde): Add 'out_offset' argument.
2010-06-30 PR gdb/11702Doug Evans1-10/+8
* dwarf2read.c (dwarf2_add_field): Only create a symbol if DW_AT_external is present.
2010-06-29 PR c++/11702Doug Evans1-0/+25
* NEWS: Add entry. * dwarf2read.c (dwarf2_add_field): If DW_AT_const_value is present, create a symbol for the field and record the value. (new_symbol): Handle DW_TAG_member. * gdbtypes.c (field_is_static): Remove FIXME. * symtab.c (search_symbols): When searching for VARIABLES_DOMAIN, only ignore LOC_CONST symbols that are enums. testsuite/ Test PR c++/11702. * gdb.cp/m-static.exp: Add testcase. * gdb.cp/m-static.h (gnu_obj_4): Add initialized static const member.
2010-06-29 * dwarf2read.c: Remove trailing whitespace.Doug Evans1-59/+59
2010-06-28gdb/Jan Kratochvil1-0/+1
* dwarf2read.c (read_structure_type) <fi.typedef_field_list>: Call ALLOCATE_CPLUS_STRUCT_TYPE.
2010-06-28gdb/Jan Kratochvil1-0/+67
* c-typeprint.c (c_type_print_base): For no fields check include also TYPE_TYPEDEF_FIELD_COUNT. Print new typedefs section. * dwarf2read.c (struct typedef_field_list) (struct field_info) <typedef_field_list, typedef_field_list_count>: New. (dwarf2_add_typedef): New. (read_structure_type): Call dwarf2_add_typedef for DW_TAG_typedef. Copy also FI.TYPEDEF_FIELD_LIST. * gdbtypes.h (struct typedef_field) (struct cplus_struct_type) <typedef_field, typedef_field_count> (TYPE_TYPEDEF_FIELD_ARRAY, TYPE_TYPEDEF_FIELD, TYPE_TYPEDEF_FIELD_NAME) (TYPE_TYPEDEF_FIELD_TYPE, TYPE_TYPEDEF_FIELD_COUNT): New. gdb/testsuite/ * gdb.cp/namespace.exp (ptype OtherFileClass typedefs) (ptype ::C::OtherFileClass typedefs): New. * gdb.cp/namespace1.cc (C::OtherFileClass::cOtherFileClassType2) (C::OtherFileClass::cOtherFileClassVar2): New. (C::OtherFileClass::cOtherFileClassVar_use): Use also cOtherFileClassVar2. (C::cOtherFileType2, C::cOtherFileVar2): New. (C::cOtherFileVar_use): use also cOtherFileVar2. * gdb.cp/userdef.exp (ptype &*c): Permit arbitrary trailing text.
2010-06-28gdb/Jan Kratochvil1-0/+1
Fix modification of cplus_struct_default. * dwarf2read.c (dwarf2_add_member_fn) <no DW_AT_vtable_elem_location>: Call ALLOCATE_CPLUS_STRUCT_TYPE. * gdbtypes.c (cplus_struct_default): New empty initializer, comment it. gdb/testsuite/ * gdb.cp/virtbase.cc (class RTTI_base, class RTTI_data) (main) <rtti_data>: New. * gdb.cp/virtbase.exp (print rtti_data): New.
2010-06-28 * dwarf2read.c (read_structure_type): Allocate null cleanup later.Tom Tromey1-1/+3
2010-06-21 * dwarf2read.c (read_base_type): Handle DW_ATE_UTF.Tom Tromey1-0/+8
(dwarf_type_encoding_name): Likewise.
2010-06-21 * p-valprint.c (pascal_val_print): Use TYPE_ERROR_NAME.Tom Tromey1-3/+12
* p-typeprint.c (pascal_type_print_base): Use TYPE_ERROR_NAME. * m2-valprint.c (m2_val_print): Use TYPE_ERROR_NAME. * gdbtypes.h (TYPE_ERROR_NAME): New macro. * f-valprint.c (f_val_print): Use TYPE_ERROR_NAME. * f-typeprint.c (f_type_print_base): Use TYPE_ERROR_NAME. * dwarf2read.c (tag_type_to_type): Create a new error type on failure. * c-valprint.c (c_val_print): Use TYPE_ERROR_NAME. * c-typeprint.c (c_type_print_base): Use TYPE_ERROR_NAME.
2010-06-17Minor reformatting in dwarf2read.c:psymtabs_addrmap_cleanup.Joel Brobecker1-0/+1
Really a tiny insignificant detail that just happened to catch my attention. Fixed thusly. 2010-06-17 Joel Brobecker <brobecker@adacore.com> * dwarf2read.c (psymtabs_addrmap_cleanup): Add empty line after last local variable declaration. No real code change.
2010-06-17 * dwarf2read.c (psymtabs_addrmap_cleanup): New function.Tom Tromey1-3/+18
(dwarf2_build_psymtabs_hard): Use it. Create addrmap on a temporary obstack.
2010-06-11 * dwarf2read.c (dwarf2_add_member_fn): Handle correct form ofTom Tromey1-30/+35
DW_AT_vtable_elem_location even when GCC extension is seen.
2010-06-07gdb/Jan Kratochvil1-16/+63
Fix PR 10640. * dwarf2-frame.c (no_dwarf_call): New function. (execute_stack_op): Set CTX->DWARF_CALL. * dwarf2expr.c (execute_stack_op) <DW_OP_call2, DW_OP_call4>: New. * dwarf2expr.h (struct dwarf_expr_context) <dwarf_call>: New. (struct dwarf_expr_context) <get_subr>: Remove the #if0-ed field. * dwarf2loc.c (per_cu_dwarf_call, dwarf_expr_dwarf_call): New functions. (dwarf2_evaluate_loc_desc): Initialize CTX->DWARF_CALL. (needs_frame_dwarf_call): New function. (dwarf2_loc_desc_needs_frame): Initialize CTX->DWARF_CALL. * dwarf2read.c (follow_die_offset): Based on former follow_die_ref. Update the comment. Move variables die, offset and error call to ... (follow_die_ref): ... a new function. (dwarf2_fetch_die_location_block): New function. * dwarf2loc.h (dwarf2_fetch_die_location_block): New prototype. gdb/testsuite/ Test PR 10640. * gdb.dwarf2/dw2-op-call.exp, gdb.dwarf2/dw2-op-call.S: New.
2010-06-07gdb/Jan Kratochvil1-1/+2
* dwarf2loc.c (struct dwarf_expr_baton) Replace objfile by per_cu. (dwarf_expr_tls_address): Use per_cu instead of objfile. (dwarf2_evaluate_loc_desc): Drop initialization of BATON.OBJFILE. Initialize new BATON.PER_CU. Adjust CTX->GDBARCH initialization for this change. (struct needs_frame_baton): New field per_cu. (dwarf2_loc_desc_needs_frame): Initialize new BATON.PER_CU. * dwarf2read.c (struct dwarf2_per_cu_data) <cu>: Extend the comment.
2010-06-05gdb/Jan Kratochvil1-12/+97
Fix duplicate types for single DIE. * dwarf2read.c (read_structure_type): Move set_descriptive_type after set_die_type. (read_array_type): Remove type initialization. Recheck get_die_type after initial die_type. Move set_die_type before set_descriptive_type. (read_set_type): New variable domain_type. Recheck get_die_type after initial die_type. Move attr initialization later. (read_tag_pointer_type, read_tag_reference_type): New variable target_type. Recheck get_die_type after initial die_type. (read_tag_ptr_to_member_type): Recheck get_die_type after initial die_type and die_containing_type. (read_tag_const_type, read_tag_volatile_type, read_subroutine_type): Recheck get_die_type after initial die_type. (read_subrange_type): Recheck get_die_type after initial die_type. Move set_die_type before set_descriptive_type. (set_die_type): Extend the function comment. Call complaint if DIE has some type already set.
2010-06-03Remove redundant naming of symbol from new_symbol.Sami Wagiaalla1-26/+0
2010-06-03 Sami Wagiaalla <swagiaal@redhat.com> * dwarf2read.c (new_symbol): Remove redundant naming of symbol.
2010-06-02gdb/Jan Kratochvil1-41/+110
Support DW_TAG_module as separate namespaces. * dwarf2read.c (typename_concat): New parameter physname. (read_module_type): New function and declaration. (scan_partial_symbols): Scan also DW_TAG_module children. (partial_die_parent_scope): Accept scope even from DW_TAG_module. Pass to typename_concat backward compatible physname value 0. (partial_die_full_name, read_namespace_type): Pass to typename_concat backward compatible physname value 0. (add_partial_module, read_module): Remove FIXME comment. (process_die) <DW_TAG_module>: Set PROCESSING_HAS_NAMESPACE_INFO. (die_needs_namespace) <DW_TAG_variable>: Allow returning true even for DIEs under DW_TAG_module. (dwarf2_compute_name): Move the ada block for DW_AT_linkage_name and DW_AT_MIPS_linkage_name first, extend it for language_fortran && physname and return there instead of just setting NAME. Extend the main block for language_fortran. Pass physname parameter to the typename_concat call. (read_import_statement, read_func_scope, get_scope_pc_bounds) (load_partial_dies, determine_prefix): Support also DW_TAG_module. (new_symbol): Fill in cplus_specific.demangled_name if it is still missing from SYMBOL_SET_NAMES in the language_fortran case. (new_symbol) <DW_TAG_variable>: Force LOC_UNRESOLVED for gfortran module variables. (read_type_die) <DW_TAG_module>: New. (MAX_SEP_LEN): Increase to 7. (typename_concat): New parameter physname. New variable lead. Support also language_fortran. * f-exp.y (yylex): Consider : also as a symbol name character class. * f-lang.c: Include cp-support.h. (f_word_break_characters, f_make_symbol_completion_list): New functions. (f_language_defn): Use cp_lookup_symbol_nonlocal, f_word_break_characters and f_make_symbol_completion_list. * f-typeprint.c (f_type_print_base) <TYPE_CODE_MODULE>: New. * gdbtypes.h (enum type_code) <TYPE_CODE_MODULE>: New. * symtab.c (symbol_init_language_specific): Support language_fortran. (symbol_find_demangled_name): New comment on language_fortran. (symbol_natural_name, symbol_demangled_name): Use demangled_name even for language_fortran. (lookup_symbol_aux_local): Check imports also for language_fortran. (default_make_symbol_completion_list): Rename to ... (default_make_symbol_completion_list_break_on): ... this name. New parameter break_on, use it. (default_make_symbol_completion_list): New stub. * symtab.h (default_make_symbol_completion_list_break_on): New prototype. gdb/testsuite/ Support DW_TAG_module as separate namespaces. * gdb.fortran/library-module.exp, gdb.fortran/library-module-main.f90, gdb.fortran/library-module-lib.f90: New. * gdb.fortran/module.exp: Replace startup by a prepare_for_testing call. (print i): Remove. (continue to breakpoint: i-is-1, print var_i value 1) (continue to breakpoint: i-is-2, print var_i value 2) (continue to breakpoint: a-b-c-d, print var_a, print var_b, print var_c) (print var_d, print var_i value 14, ptype modmany, complete `modm) (complete `modmany, complete `modmany`, complete `modmany`var) (show language, setting breakpoint at module): New tests. * gdb.fortran/module.f90 (module mod): Remove. (module mod1, module mod2, module modmany, subroutine sub1) (subroutine sub2, program module): New.
2010-06-02gdb/Jan Kratochvil1-1/+1
* dwarf2read.c (typename_concat): Add const to the variable sep.
2010-06-02gdbTom Tromey1-20/+55
* dwarf2loc.h (dwarf2_per_cu_data): Declare. * dwarf2read.c (dwarf_stack_op_name): No longer static. Return type is const. Add 'def' argument. Add missing operators, remove unhandled ones. (decode_locdesc): Update. (dwarf2_always_disassemble): New global. (show_dwarf2_always_disassemble): New function. (_initialize_dwarf2_read): Add always-disassemble. (dwarf2_per_cu_offset_size): New function. * dwarf2loc.c (dwarf2_always_disassemble): Declare. (piece_end_p): New function. (locexpr_describe_location_piece): Replace 'size' argument with 'end'. Use piece_end_p. Rewrite recognition of TLS. Recognize some constants. Remove errors. (disassemble_dwarf_expression): New function. (locexpr_describe_location_1): Use disassemble_dwarf_expression. Add 'offset_size' argument. (loclist_describe_location): Change output formatting. * dwarf2expr.h (dwarf_stack_op_name): Declare. gdb/doc * gdb.texinfo (Maintenance Commands): Document maint set dwarf2 always-disassemble.
2010-06-02 * dwarf2read.c (read_subrange_type): Handle missing base typePierre Muller1-11/+51
according to Dwarf-2 specifications.
2010-06-01 * dwarf2read.c (read_func_scope): Do not complain forPierre Muller1-3/+5
external function if bounds are not found.
2010-05-21 * dwarf2read.c (new_symbol): Handle DW_AT_variable_parameterPierre Muller1-0/+9
attribute.