-2010-03-09 Joel Brobecker <brobecker@adacore.com>
- Pierre Muller <muller@ics.u-strasbg.fr>
+2010-03-10 Tom Tromey <tromey@redhat.com>
+
+ * xcoffread.c (xcoff_start_psymtab): Update.
+ (xcoff_end_psymtab): Update.
+ * psymtab.c (allocate_psymtab): Remove dead code.
+ * psympriv.h (struct partial_symtab) <read_symtab_private>: Now
+ void*.
+ * mdebugread.c (parse_partial_symbols): Update.
+ (new_psymtab): Likewise.
+ * dwarf2read.c (process_psymtab_comp_unit): Update.
+ (psymtab_to_symtab_1): Update.
+ * dbxread.c (start_psymtab): Update.
+ (end_psymtab): Likewise.
+
+2010-30-10 Tom Tromey <tromey@redhat.com>
+
+ * xcoffread.c: Include psymtab.h.
+ (xcoff_sym_fns): Update.
+ * symtab.h (struct partial_symbol): Remove.
+ (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.
+ (struct partial_symtab): Remove.
+ (PSYMTAB_TO_SYMTAB): Remove.
+ (lookup_partial_symbol, lookup_partial_symtab, find_pc_psymtab)
+ (find_pc_sect_psymtab): Remove.
+ (find_pc_sect_symtab_via_partial): Declare.
+ (find_pc_psymtab, find_pc_sect_psymbol, psymtab_to_symtab)
+ (find_main_psymtab): Remove.
+ (find_main_filename): Declare.
+ (fixup_psymbol_section): Remove.
+ (fixup_section): Declare.
+ * symtab.c: Include psymtab.h.
+ (lookup_symtab): Use lookup_symtab method.
+ (lookup_partial_symtab): Remove.
+ (find_pc_sect_psymtab_closer): Remove.
+ (find_pc_sect_psymtab): Remove.
+ (find_pc_sect_symtab_via_partial): New function.
+ (find_pc_psymtab, find_pc_sect_psymbol, find_pc_psymbol): Remove.
+ (fixup_section): No longer static.
+ (fixup_psymbol_section): Remove.
+ (lookup_symbol_aux): Use lookup_symbol_aux_quick.
+ (lookup_global_symbol_from_objfile): Likewise.
+ (lookup_symbol_aux_psymtabs): Remove.
+ (lookup_symbol_aux_quick): New function.
+ (lookup_symbol_global): Use lookup_symbol_aux_quick.
+ (lookup_partial_symbol): Remove.
+ (basic_lookup_transparent_type_quick): New function.
+ (basic_lookup_transparent_type): Use it.
+ (find_main_psymtab): Remove.
+ (find_main_filename): New function.
+ (find_pc_sect_symtab): Use find_pc_sect_symtab method.
+ (find_line_symtab): Use expand_symtabs_with_filename method.
+ (output_partial_symbol_filename): New function.
+ (sources_info): Use map_partial_symbol_filenames.
+ (struct search_symbols_data): New type.
+ (search_symbols_file_matches): New function.
+ (search_symbols_name_matches): Likewise.
+ (search_symbols): Use expand_symtabs_matching method.
+ (struct add_name_data): Rename from add_macro_name_data.
+ (add_macro_name): Update.
+ (add_partial_symbol_name): New function.
+ (default_make_symbol_completion_list): Use
+ map_partial_symbol_names.
+ (struct add_partial_symbol_name): New type.
+ (maybe_add_partial_symtab_filename): New function.
+ (make_source_files_completion_list): Use
+ map_partial_symbol_filenames.
+ (expand_line_sal): Use expand_symtabs_with_filename method.
+ * symmisc.c: Include psymtab.h.
+ (print_objfile_statistics): Use print_stats method.
+ (dump_objfile): Use dump method.
+ (dump_psymtab, maintenance_print_psymbols)
+ (maintenance_info_psymtabs, maintenance_check_symtabs)
+ (extend_psymbol_list): Remove.
+ * symfile.h (struct quick_symbol_functions): New struct.
+ (struct sym_fns) <qf>: New field.
+ (sort_pst_symbols): Remove.
+ (increment_reading_symtab): Declare.
+ * symfile.c: Include psymtab.h.
+ (compare_psymbols, sort_pst_symbols): Remove.
+ (psymtab_to_symtab): Remove.
+ (increment_reading_symtab): New function.
+ (symbol_file_add_with_addrs_or_offsets): Use expand_all_symtabs
+ method.
+ (set_initial_language): Use find_main_filename.
+ (allocate_psymtab, discard_psymtab, cashier_psymtab): Remove.
+ (free_named_symtabs): Remove unused code.
+ (start_psymtab_common, add_psymbol_to_bcache)
+ (append_psymbol_to_list, add_psymbol_to_list, init_psymbol_list):
+ Remove.
+ * stack.c: Include psymtab.h, symfile.h.
+ (backtrace_command_1): Use find_pc_sect_symtab_via_partial.
+ * source.h (psymtab_to_fullname): Don't declare.
+ * source.c: Include psymtab.h.
+ (select_source_symtab): Use find_last_source_symtab method.
+ (forget_cached_source_info): Use forget_cached_source_info
+ method.
+ (find_and_open_source): No longer static.
+ (psymtab_to_fullname): Remove.
+ * somread.c: Include psymtab.h.
+ (som_sym_fns): Update.
+ * psympriv.h: New file.
+ * psymtab.h: New file.
+ * psymtab.c: New file.
+ * objfiles.h: (ALL_OBJFILE_PSYMTABS): Remove.
+ (ALL_PSYMTABS, ALL_PSPACE_PSYMTABS): Likewise.
+ * objfiles.c: Include psymtab.h.
+ (objfile_relocate1): Use relocate method.
+ (objfile_has_partial_symbols): Use has_symbols method.
+ * mipsread.c: Include psymtab.h.
+ (ecoff_sym_fns): Update.
+ * mi/mi-cmd-file.c: Include psymtab.h.
+ (print_partial_file_name): New function.
+ (mi_cmd_file_list_exec_source_files): Use
+ map_partial_symbol_filenames.
+ * mdebugread.c: Include psympriv.h.
+ * machoread.c: Include psympriv.h.
+ (macho_sym_fns): Update.
+ * m2-exp.y (yylex): Use lookup_symtab.
+ * elfread.c: Include psympriv.h.
+ (elf_sym_fns): Update.
+ * dwarf2read.c: Include psympriv.h.
+ * dbxread.c: Include psympriv.h.
+ (aout_sym_fns): Update.
+ * cp-support.c: Include psymtab.h.
+ (read_in_psymtabs): Remove.
+ (make_symbol_overload_list_qualified): Use
+ expand_symtabs_for_function method.
+ * coffread.c: Include psympriv.h.
+ (coff_sym_fns): Update.
+ * blockframe.c: Include psymtab.h.
+ (find_pc_partial_function): Use find_pc_sect_symtab method.
+ * ada-lang.h (ada_update_initial_language): Update.
+ * ada-lang.c: Include psymtab.h.
+ (ada_update_initial_language): Remove 'main_pst' argument.
+ (ada_lookup_partial_symbol): Remove.
+ (struct ada_psym_data): New type.
+ (ada_add_psyms): New function.
+ (ada_add_non_local_symbols): Use map_ada_symtabs method.
+ (struct add_partial_datum): New type.
+ (ada_add_partial_symbol_completions): New function.
+ (ada_make_symbol_completion_list): Use map_partial_symbol_names.
+ (ada_exception_support_info_sniffer): Update.
+ * Makefile.in (SFILES): Add psymtab.c.
+ (COMMON_OBS): Add psymtab.o.
+ (HFILES_NO_SRCDIR): Add psymtab.h, psympriv.h.
+
+2010-03-10 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * remote-fileio.c (cygwin_conv_path): Define macro for old cygwin API.
+
+2010-03-10 Sami Wagiaalla <swagiaal@redhat.com>
+
+ PR C++/11236:
+ * cp-namespace.c (cp_add_using): Deleted.
+ (cp_add_using_directive): Use obstack allocations.
+ Merged the function cp_add_using into this one.
+ Added 'struct obstack *' argument.
+ (cp_scan_for_anonymous_namespaces): Updated.
+ * cp-support.h: Updated.
+ * dwarf2read.c (read_import_statement): Updated.
+ (read_namespace): Updated.
+
+2010-03-10 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * windows-nat.c (cygwin_conv_path): Remove old macro.
+
+2010-03-10 Pedro Alves <pedro@codesourcery.com>
+
+ * breakpoint.c (condition_command): Handle watchpoint conditions.
+ (is_hardware_watchpoint): Add comment.
+ (is_watchpoint): New.
+ (update_watchpoint): Don't reparse the watchpoint's condition
+ unless necessary.
+ (WP_IGNORE): New.
+ (watchpoint_check): Use it.
+ (bpstat_check_watchpoint): Handle it.
+ (bpstat_check_breakpoint_conditions): Evaluate watchpoint local
+ conditions in a frame where it makes sense.
+ (watch_command_1): Store the innermost block of the condition
+ expression.
+ (delete_breakpoint): Delete the watchpoint condition expression.
+ * breakpoint.h (struct bp_location) <cond>: Update comment.
+ (struct breakpoint): New field `cond_exp_valid_block'.
+
+2010-03-09 Joel Brobecker <brobecker@adacore.com>
+
+ Adjust handling of Ada DIEs after dwarf2_physname patch.
+ * dwarf2read.c (dwarf2_compute_name): Add handling of Ada DIEs.
+
+2010-03-09 Christopher Faylor <me+cygwin@cgf.cx>
+ Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * windows-nat.c (cygwin_conv_path): Redefine to properly convert
+ from/to posix/win32.
+ (windows_make_so): Use non-Cygwin 1.7 specific function.
+ (windows_create_inferior): Make sure that cygallargs points to
+ original args in non Cygwin 1.7. case.
+
+2010-03-09 Michael Snyder <msnyder@vmware.com>
+
+ * i386-tdep.c (i386_record_lea_modrm_addr): Use extract_signed_int
+ after target_read_memory to get host byte order.
+ (i386_process_record): Ditto.
+
+2010-03-09 Keith Seitz <keiths@redhat.com>
+
+ Based on work from Daniel Jacobowitz <dan@codesourcery.com>
+ * c-typeprint.c (cp_type_print_method_args): For non-static methods,
+ print out const or volatile qualifiers, too.
+ (c_type_print_args): Add parameters show_artificial and language.
+ Skip artificial parameters when requested.
+ Use the appropriate language printer.
+ (c_type_print_varspec): Tell c_type_print_args to skip artificial
+ parameters and pass language_c.
+ * dwarf2read.c (die_list): New file global.
+ (struct partial_die_info): Update comments for name field.
+ (pdi_needs_namespace): Renamed to ...
+ (die_needs_namespace): ... this. Rewrite.
+ (dwarf2_linkage_name): Remove.
+ (add_partial_symbol): Do not predicate the call to
+ partial_die_full_name based on pdi_needs_namespace.
+ Remove call to cp_check_possible_namespace_symbols and associated
+ outdated comments.
+ (guess_structure_name): Do not inspect child subprogram DIEs.
+ (dwarf2_fullname): Update comments.
+ Use die_needs_namespace to assist in computing the name.
+ (read_func_scope): Use dwarf2_name to get the DIE's name.
+ Use dwarf2_physname to get the "linkage name" of the DIE.
+ (dwarf2_add_member_field): Use dwarf2_physname instead of
+ dwarf2_linkage_name.
+ (read_structure_type): For structs and classes, set TYPE_NAME, too.
+ (determine_class): Remove.
+ (read_partial_die): Ignore DW_AT_MIPS_linkage_name for all languages
+ except Ada.
+ (new_symbol): Unconditionally call dwarf2_name.
+ Compute the "linkage name" using dwarf2_physname.
+ Use dwarf2_name instead of dwarf2_full_name for enumerator DIEs.
+ When determining to scan for anonymous C++ namespaces, ignore
+ the linkage name.
+ (dwarf2_physname): New function.
+ (dwarf2_full_name): Move content to new function and call
+ that.
+ (dwarf2_compute_name): "New" function.
+ (_initialize_dwarf2_read): Initialize die_list.
+ * gnu-v3-eabi.c (gnu_v3_find_method_in): Remove unused variable
+ physname.
+ (gnu_v3_print_method_ptr): Use the physname for virtual methods
+ without a demangled name.
+ Print out type information for non-virtual methods.
+ * linespec.c (decode_line_1): Force ANY string using "::" (or
+ "." for java) to use decode_compound, and clean up any stray quoting.
+ If we found a file symtab, re-evaluate whether the remainder is_quoted.
+ (decode_compound): Stop consuming at an open parenthesis.
+ Keep template parameters.
+ Keep any overload information.
+ Keep keywords like "const".
+ Remove paren_pointer.
+ Move is_quoted check from set_flags to here.
+ Remove #if 0 code from 2000. Ten years is long enough.
+ (find_method): Before comparing symbol names, canonicalize the string
+ from the user.
+ If a specific overload is requested, find it. Otherwise throw an error.
+ (find_method_overload_end): New function.
+ (set_flags): Remove.
+ (decode_compound): Assume that parentheses are matched.
+ It's a lot easier.
+ * symtab.c (symbol_find_demangled_name): Add DMGL_VERBOSE flag
+ to cplus_demangle.
+ * linespec.c (decode_line_1): Keep important keywords like
+ "const" and "volatile".
+ * symtab.h (SYMBOL_CPLUS_DEMANGLED_NAME): Remove.
+ * typeprint.h (c_type_print_args): Add declaration.
+ * ui-file.c (do_ui_file_obsavestring): New function.
+ (ui_file_obsavestring): New function.
+ * ui-file.h (ui_file_obsavestring): Add declaration.
+ * valops.c (find_overload_match): Resolve the object to
+ a non-pointer type.
+ If the object is a data member, search the object for the member
+ and return with staticp set.
+ Use SYMBOL_NATURAL_NAME instead of SYMBOL_CPLUS_DEMANGLED_NAME.
+ Do not attempt to extract a function name from non-function types.
+ If the extracted function name and the original name are the same,
+ we don't have a C++ method.
+
+ From Jan Kratochvil <jan.kratochvil@redhat.com>:
+ * dwarf2read.c (new_symbol <DW_TAG_enumerator>): Call dwarf2_full_name.
+
+ * ada-lang.c (ada_lookup_symbol): Remove linkage_name parameters
+ and arguments from symbol lookups.
+ * ax-gdb.c (gen_expr): Likewise.
+ * cp-namespace.c (cp_lookup_symbol_nonlocal, lookup_namespace_scope,
+ cp_lookup_symbol_namespace, lookup_symbol_file, lookup_nested_type,
+ lookup_possible_namespace_symbol): Likewise.
+ * cp-support.c (read_in_psymtabs): Likewise.
+ * cp-support.h (cp_lookup_symbol_nonlocal): Likewise.
+ * language.h (la_lookup_symbol_nonlocal): Likewise.
+ * scm-valprint.c (scm_inferior_print): Likewise.
+ * solib-darwin.c (darwin_relocate_section_addresses): Likewise.
+ * solib-svr.c (elf_lookup_lib): Likewise.
+ * solib.c (show_auto_solib_add): Likewise.
+ * solist.h (lookup_lib_global, solib_global_lookup): Likewise.
+ * symmisc.c (maintenance_check_symtabs): Likewise.
+ * symtab.c (lookup_symbol_in_language, lookup_symbol_aux,
+ lookup_symbol_aux_local, lookup_symbol_aux_block,
+ lookup_symbol_from_objfile, lookup_symbol_aux_symtabs,
+ lookup_symbol_aux_psymtabs,basic_lookup_symbol_nonlocal,
+ lookup_symbol_static, lookup_symbol_global, symbol_matches_domain,
+ basic_lookup_transparent_type, find_main_psymtab,
+ lookup_block_symbol): Likewise.
+ * symtab.h (basic_lookp_symbol_nonlocal, lookup_symbol_static,
+ lookup_symbol_global, lookup_symbol_aux_block,
+ lookup_symbol_partial_symbol, lookup_block_symbol,
+ lookup_global_symbol, value_maybe_namespace_elt): Likewise.
+
+2010-03-09 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * python/python-internal.h: Include symtab.h.
+
+2010-03-09 Joel Brobecker <brobecker@adacore.com>
+ Pierre Muller <muller@ics.u-strasbg.fr>
* p-lang.c (is_pascal_string_type): Remove unneeded parentheses.
* p-valprint.c (pascal_val_print): Remove undeed block and fix