+2009-06-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * dwarf2read.c (inherit_abstract_dies): Work around GCC PR 40573.
+
+2009-06-30 Vladimir Prus <vladimir@codesourcery.com>
+
+ * mi/mi-cmd-stack.c (parse_print_values): New.
+ (mi_cmd_stack_list_locals, mi_cmd_stack_list_args): Use the above.
+
+2009-06-30 Vladimir Prus <vladimir@codesourcery.com>
+
+ * varobj.c (varobj_get_type): Use type_to_string.
+
+2009-06-29 Pedro Alves <pedro@codesourcery.com>
+
+ * infrun.c (handle_inferior_event): Context switch to the new
+ thread when resuming for a new_thread_event.
+
+2009-06-29 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * ada-lang.h (ada_convert_actual): Add GDBARCH argument.
+ * ada-lang.c (convert_actual): Remove stale prototype.
+ (ensure_lval, make_array_descriptor, ada_convert_actual):
+ Add GDBARCH argument and pass through to subroutine calls.
+ (ensure_lval): Use GDBARCH instead of current_gdbarch.
+ * infcall.c (value_arg_coerce): Update ada_convert_actual call.
+
+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