* ada-lang.c (resolve): Use per-architecture void type instead
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 95d41e5b47a84c04bb17d3d234b919b2595fd790..f29c3fc1ad5e9905c60eb26deab662e191905dc5 100644 (file)
@@ -1,3 +1,314 @@
+2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * ada-lang.c (resolve): Use per-architecture void type instead
+       of platform-independent one.
+       (ada_evaluate_subexp) [STRUCTOP_STRUCT]: Likewise.
+       (ada_resolve_function): Reimplement fallback logic to avoid
+       explicit reference to builtin_type_void.
+
+2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * ada-valprint.c (ada_print_scalar): Accept NULL type argument
+       to indicate scalar should be printed as default integer.
+       (print_optional_low_bound): Pass NULL to ada_print_scalar to
+       indicate default integer output.
+       * ada-typeprint.c (print_range, print_range_bound): Likewise.
+       (print_choices): Likewise.  Thus, accept NULL as val_type.
+       * ada-lang.c (ada_variant_discrim_type): Return NULL when failed
+       to look up controlling discriminant name.
+
+2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * ada-lang.c (to_fixed_range_type): Add ORIG_TYPE argument.
+       Fall back to orig_type as index type if symbol lookup fails.
+       Allocate result types from ORIG_TYPE's objfile.
+       (ada_array_bound_from_type, to_fixed_array_type,
+       ada_evaluate_subexp): Pass original index type to
+       to_fixed_range_type.  Do not pass objfile.
+
+       * ada-typeprint.c (print_range_type_named): Add ORIG_TYPE argument.
+       Fall back to orig_type as index type if symbol lookup fails.
+       (print_array_type, ada_print_type): Pass original index type
+       to print_range_type_named.
+
+2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * ada-lang.c (ada_index_type): Update comment.
+
+2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * ada-lang.c (ada_index_type): Make static.  Add NAME argument.
+       Throw error on invalid input arguments.  Return NULL if unable
+       to determine index type.
+
+       (ada_array_bound_from_type): Remove TYPEP argument.
+       (ada_array_bound): Make static.  Return LONGEST instead of value.
+       Update for ada_array_bound_from_type change.
+       (ada_array_length): Return LONGEST instead of value.
+       Update for ada_array_bound_from_type change.
+       (make_array_descriptor): Update for ada_array_bound change.
+
+       (ada_evaluate_subexp) [OP_ATR_RANGE, OP_ATR_FIRST, OP_ATR_LAST,
+       OP_ATR_LENGTH]: Update for ada_array_bound_from_type,
+       ada_array_bound, ada_array_length, ada_index_type changes.
+       Always use ada_index_type to compute result type; fall back
+       to architecture-specific integer type if ada_index_type fails.
+
+       * ada-lang.h (ada_index_type): Remove prototype.
+       (ada_array_bound): Likewise.
+
+2009-06-29  Pedro Alves  <pedro@codesourcery.com>
+
+       * dbxread.c (read_dbx_symtab): Clear has_line_numbers when ending
+       a psymtab.
+
+2009-06-29  Tom Tromey  <tromey@redhat.com>
+
+       * README: Mention parallel check.
+
+2009-06-29  Sami Wagiaalla  <swagiaal@redhat.com>
+
+       * dwarf2read.c (read_import_statement): Properly set import location
+       and destination.
+       * cp-support.h (cp_add_using, cp_add_using_directive): Now take char*
+       inner, char* outer arguments. Updated callers.
+
+2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * value.h (value_subscript, value_subscripted_rvalue,
+       value_bitstring_subscript, value_ptradd): Use LONGEST instead
+       of value as type of the index argument.
+       (value_ptrsub): Remove.
+       * valarith.c (value_subscript, value_subscripted_rvalue,
+       value_bitstring_subscript, value_ptradd): Use LONGEST instead
+       of value as type of the index argument.
+       (value_ptrsub): Remove.
+
+       * wrapper.h (gdb_value_subscript): Use LONGEST instead of
+       value as type of the index argument.
+       * wrapper.c (gdb_value_subscript): Likewise.
+
+       Update calls to gdb_value_subscript, value_subscript,
+       value_subscripted_rvalue, value_bitstring_subscript and
+       value_ptradd to use LONGEST instead of value as index
+       argument type.  Use value_ptradd instead of value_ptrsub.
+       * ada-lang.c (ada_value_subscript, ada_value_ptr_subscript,
+       ada_tag_name_2): Update.
+       * ada-tasks.c (read_atcb): Update.
+       * eval.c (evaluate_subexp_standard): Update.
+       * valarith.c (value_subscript): Update.
+       * gnu-v2-abi.c (gnuv2_virtual_fn_field): Update.
+       * gnu-v3-abi.c (gnuv3_get_virtual_fn, gnuv3_baseclass_offset,
+       gnuv3_method_ptr_to_value): Update.
+       * jv-lang.c (evaluate_subexp_java): Update.
+       * m2-lang.c (evaluate_subexp_modula2): Update.
+       * python/python-value.c (valpy_getitem, valpy_binop): Update.
+       * wrapper.c (gdb_value_subscript): Update.
+       * varobj.c (c_describe_child): Update.
+
+2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gdbtypes.h (make_function_type): Remove OBJFILE parameter.
+       * gdbtypes.c (make_function_type): Remove OBJFILE parameter.
+       (lookup_function_type): Update call.
+       * stabsread.c (read_type): Likewise.
+       * dwarf2read.c (read_subroutine_type): Use lookup_function_type
+       instead of make_function_type.
+       * jv-lang.c (type_from_class): Likewise.  Do not allocate types
+       on the fake "dynamics" obstack.
+
+2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gdbtypes.h (struct builtin_type): Remove builtin_core_addr,
+       nodebug_text_symbol, nodebug_data_symbol, nodebug_unknown_symbol,
+       and nodebug_tls_symbol members.
+       (struct objfile_type): New data structure.
+       (objfile_type): Add prototype.
+       * gdbtypes.c (gdbtypes_post_init): Remove initialization code
+       for types no longer in struct builtin_type.
+       (objfile_type_data): New static variable.
+       (_initialize_gdbtypes): Initialize it.
+       (objfile_type): New function.
+
+       * gdbtypes.h (builtin_type_error): Remove.
+       * gdbtypes.c (build_complex): Do not use builtin_type_error.
+       * symtab.c (builtin_type_error): Remove.
+       (_initialize_symtab): Remove initialization.
+
+       * stabsread.c (dbx_lookup_type, define_symbol, error_type,
+       rs6000_builtin_type, read_range_type): Use per-objfile types
+       instead of global or per-architecture builtin types.
+       * coffread.c (decode_type): Likewise.
+       * dwarf2read.c (read_array_type, read_tag_string_type,
+       new_symbol, die_type): Likewise.
+       * mdebugread.c (parse_symbol, basic_type, upgrade_type,
+       parse_procedure, psymtab_to_symtab_1): Likewise.
+       * xcoffread.c (process_xcoff_symbol): Likewise.
+       * parse.c (write_exp_msymbol): Likewise.
+
+       * stabsread.c (rs6000_builtin_type_data): New static variable.
+       (_initialize_stabsread): Initialize it.
+       (rs6000_builtin_type): Add OBJFILE argument.  Allocate builtin
+       types per-objfile instead of globally.
+
+       * stabsread.c (dbx_lookup_type): Add OBJFILE argument.  Use it
+       instead of current_objfile; pass it to rs6000_builtin_type.
+       (dbx_alloc_type, read_type, read_range_type): Update calls.
+       (cleanup_undefined_types_noname): Add OBJFILE argument and
+       pass it to dbx_lookup_type.
+       (cleanup_undefined_types): Add OBJFILE argument and pass it
+       to cleanup_undefined_types_noname.
+       * stabsread.h (cleanup_undefined_types): Add OBJFILE argument.
+       * buildsym.c (end_symtab): Update call.
+
+2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * darwin-nat-info.c (darwin_debug_regions_recurse): Use
+       target_gdbarch instead of current_gdbarch.
+
+2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * Makefile.in (ALL_64_TARGET_OBS): Add amd64-windows-tdep.o.
+       (ALL_TARGET_OBS): Add moxie-tdep.o, i386-darwin-tdep.o, and
+       solib-darwin.o.
+
+       * configure.tgt: Add comment.
+
+2009-06-28  Paul Pluzhnikov  <ppluzhnikov@google.com>
+
+       * mi/mi-cmds.c (mi_cmds): Remove unimplemented entries.
+       
+2009-06-27  Daniel Jacobowitz  <dan@codesourcery.com>
+           Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * NEWS: Document inlined function support.
+       * Makefile.in (SFILES): Add inline-frame.c.
+       (COMMON_OBS): Add inline-frame.o.
+       * block.c (contained_in): Rewrite to use lexical nesting.
+       (block_linkage_function): Skip inlined function blocks.
+       (block_inlined_p): New.
+       * block.h (struct block): Update comment.
+       (block_inlined_p): New prototype.
+       * blockframe.c (get_frame_block): Handle inlined functions.
+       (get_frame_function): Do not use block_linkage_function.
+       (block_innermost_frame): Use get_frame_block and contained_in.
+       * breakpoint.c (watchpoint_check): Remove extra reinit_frame_cache.
+       Skip over inlined functions.  Simplify epilogue check.
+       (bpstat_check_breakpoint_conditions): Use get_stack_frame_id.
+       Update comments.
+       (set_momentary_breakpoint): Only accept non-inlined frames.
+       (watch_command_1): Use frame_unwind_caller_pc and
+       frame_unwind_caller_id instead of get_prev_frame.
+       (until_break_command): Likewise.  Use get_stack_frame_id.
+       * buildsym.c (end_symtab): Set SYMBOL_SYMTAB for block functions.
+       * dwarf2loc.c (dwarf_expr_frame_base): Use block_linkage_function.
+       * dwarf2read.c (process_die): Handle DW_TAG_inlined_subroutine.
+       (read_func_scope, new_symbol): Likewise.  Handle arguments specially
+       for inlined functions without call site information.
+       (inherit_abstract_dies): Allow tag mismatch for inlined subroutines.
+       (die_specification): Treat DW_AT_abstract_origin as a specification.
+       (read_type_die): Handle DW_TAG_inlined_subroutine.
+       * frame-unwind.c (frame_unwind_init): Add inline_frame_unwind.
+       * frame.c (fprint_frame_id): Print inline depth.
+       (fprint_frame_type): Handle INLINE_FRAME and SENTINEL_FRAME.
+       (skip_inlined_frames, get_stack_frame_id): New.
+       (frame_unwind_caller_id): Use skip_inlined_frames.
+       (frame_id_inlined_p): New.
+       (frame_id_eq): Make the logic match the comments.  Add inline_depth
+       check.
+       (frame_id_inner): Handle inlined functions.
+       (frame_unwind_pc): New function, copied from frame_unwind_caller_pc.
+       (frame_unwind_caller_pc): Use skip_inlined_frames and frame_unwind_pc.
+       (get_prev_frame_1): Check for inline frames.  Split out frame
+       allocation to get_prev_frame_raw.
+       (get_prev_frame_raw): New function.
+       (get_prev_frame): Handle inline frames.
+       (get_frame_pc): Use frame_unwind_pc.
+       (get_frame_address_in_block): Skip inlined frames on both sides.
+       (pc_notcurrent): Delete.
+       (find_frame_sal): Rewrite to handle inline call sites.  Use
+       get_frame_address_in_block.
+       (deprecated_update_frame_pc_hack): Make static.
+       * frame.h: Update comments.
+       (struct frame_id): Add inline_depth.
+       (enum frame_type): Add INLINE_FRAME.
+       (frame_id_inlined_p, get_stack_frame_id): New prototypes.
+       * gdbthread.h (struct thread_info): Add step_stack_frame_id field.
+       * infcmd.c (set_step_frame): New function.
+       (step_once): Use set_step_frame.  Handle inlined functions.
+       (until_next_command): Use set_step_frame.
+       (finish_backward), finish_forward): Use get_stack_frame_id.
+       (finish_command): Support inlined functions.
+       * inferior.h (set_step_info): New prototype.
+       * infrun.c (RESUME_ALL): Use minus_one_ptid.
+       (clear_proceed_status): Clear step_stack_frame_id.
+       (init_wait_for_inferior): Call clear_inline_frame_state.
+       (init_execution_control_state): Make static.
+       (set_step_info): New function.
+       (init_thread_stepping_state): Do not set the symtab or line here.
+       (stepped_in_from): New function.
+       (handle_inferior_event): Handle inlined functions.  Use set_step_info.
+       (insert_step_resume_breakpoint_at_frame): Use get_stack_frame_id.
+       (struct inferior_status): Add step_stack_frame_id.
+       (save_inferior_status, restore_inferior_status): Save and restore
+       step_stack_frame_id.
+       * inline-frame.c, inline-frame.h: New files.
+       * minsyms.c (prim_record_minimal_symbol_and_info): Use XCALLOC.
+       * regcache.c (regcache_write_pc): Call reinit_frame_cache.
+       * s390-tdep.c (s390_prologue_frame_unwind_cache): Handle INLINE_FRAME.
+       * stack.c (frame_show_address): New.
+       (print_frame_info, print_frame): Use it.
+       (find_frame_funname): Use get_frame_function.  Handle inlined blocks.
+       (frame_info): Mark inlined functions.
+       (backtrace_command_1): Use get_current_user_frame.
+       (print_frame_local_vars, print_frame_label_vars): Update comments.
+       (return_command): Refuse inlined functions.
+       * symtab.c (lookup_symbol_aux_local): Stop at inlined function
+       boundaries.
+       (find_function_start_sal): Avoid inlined functions.
+       (completion_list_add_fields): New function.
+       (default_make_symbol_completion_list): Use it.  Use block_static_block
+       and block_global_block.  Check for inlined functions.
+       (skip_prologue_using_sal): Avoid line number comparison across
+       inlining.
+       * symtab.h (struct symbol): Add is_inlined.
+       (SYMBOL_INLINED): New.
+       * target.c (target_resume): Call clear_inline_frame_state.
+       * valops.c (value_of_variable): Check block_inlined_p.
+
+2009-06-27  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * frame.c (frame_unwind_id): Renamed to ...
+       (frame_unwind_caller_id): ... this.  All callers updated.
+       (frame_pc_unwind): Renamed to ...
+       (frame_unwind_caller_pc): ... this.  All callers updated.
+       * frame.h: Document frame_unwind_caller_WHAT functions.
+       (frame_unwind_id): Renamed to ...
+       (frame_unwind_caller_id): ... this.
+       (frame_pc_unwind): Renamed to ...
+       (frame_unwind_caller_pc): ... this.
+       * hppa-tdep.c (hppa_find_unwind_entry_in_block): Correct comment.
+       * stack.c (parse_frame_specification_1): Do not rely on
+       frame_unwind_id.
+
+2009-06-27  Michael Snyder  <msnyder@vmware.com>
+
+       * infrun.c (handle_inferior_event): Improve handling of
+       reverse-stepping into and over shared library functions.
+
+2009-06-25  Karen Osmond  <karen.osmond@gmail.com>
+
+       * linespec.c (find_method): Add new not_found_ptr parameter to
+       bring in line with symtab_from_filename, decode_variable.
+       (decode_compound): Likewise.  Also propagate not_found_ptr to 
+       find_method.
+       (decode_line_1): Propagate not_found_ptr to decode_compound.
+       (cplusplus_error): Now throws NOT_FOUND_ERROR.
+
+2009-06-25  Karen Osmond  <karen.osmond@gmail.com>
+
+       * MAINTAINERS (Write After Approval): Add self.
+
 2009-06-23  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * valops.c (value_one): Reimplement broken decimal-float case.
 
 2009-06-23  Sami Wagiaalla  <swagiaal@redhat.com>
 
-       * dwarf2read.c (process_die): Handle import statements
-       (DW_TAG_imported_declaration, case DW_TAG_imported_module)
-       (read_import_statement): New.
-       (read_func_scope): Update using_directives to point to current context
-       (read_lexical_block_scope): Ditto.
-       * cp-support.h: Added prototype for cp_add_using.
-       * cp-namespace.c: Removed local context_stack.
-       (cp_initialize_namespace): Deleted.
-       (cp_finalize_namespace): Deleted.
-       (cp_add_using_directive): Use using_directives instead of using_list.
-       (cp_add_using): No longer static.
-       * buildsym.h: Created global using_direct variable.
-       Created using_direct variable in context_stack.
-       * buildsym.c (finish_block): Set using directives for the block under
-       construction.
-       (start_symtab): Removed call to cp_initialize_namespace().
-       (end_symtab): Removed call to cp_finalize_namespace().
-       (push_context): Save and reset using_directives.
-       * block.c (block_using): Return using directives for given
-       block instead of static block.
+       * dwarf2read.c (process_die): Handle import statements
+       (DW_TAG_imported_declaration, case DW_TAG_imported_module)
+       (read_import_statement): New.
+       (read_func_scope): Update using_directives to point to current context
+       (read_lexical_block_scope): Ditto.
+       * cp-support.h: Added prototype for cp_add_using.
+       * cp-namespace.c: Removed local context_stack.
+       (cp_initialize_namespace): Deleted.
+       (cp_finalize_namespace): Deleted.
+       (cp_add_using_directive): Use using_directives instead of using_list.
+       (cp_add_using): No longer static.
+       * buildsym.h: Created global using_direct variable.
+       Created using_direct variable in context_stack.
+       * buildsym.c (finish_block): Set using directives for the block under
+       construction.
+       (start_symtab): Removed call to cp_initialize_namespace().
+       (end_symtab): Removed call to cp_finalize_namespace().
+       (push_context): Save and reset using_directives.
+       * block.c (block_using): Return using directives for given
+       block instead of static block.
 
 2009-06-23  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * c-lang.c (classify_type): Iterate over typedefs.
        * c-valprint.c (textual_element_type): Iterate over typedefs.
 
+2009-06-22  Tristan Gingold  <gingold@adacore.com>
+
+       * darwin-nat.c (darwin_xfer_partial): Use host_address_to_string
+       instead of "%p".
+
 2009-06-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        PR gdb/9988:
This page took 0.027582 seconds and 4 git commands to generate.