* gdbtypes.h (builtin_type_void): Remove macro, add declaration.
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index b6b451b0197ea34fd4b8229b7cd548602a73857d..5a486af2478d5a6bb79cbb287671b0d298e07b2a 100644 (file)
@@ -1,3 +1,472 @@
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gdbtypes.h (builtin_type_void): Remove macro, add declaration.
+       (builtin_type_f_void): Remove macro.
+       * gdbtypes.c (builtin_type_void): New global variable.
+       (_initialize_gdbtypes): Initialize it.
+
+       * gnu-v3-abi.c (build_gdb_vtable_type): Do not call
+       lookup_pointer_type or lookup_function_type on builtin_type_void.
+       * printcmd.c (set_next_address): Likewise.
+       * objc-lang.c (value_nsstring): Likewise.
+       * mt-tdep.c (mt_copro_register_type): Likewise.
+       * xtensa-tdep.c (xtensa_register_type): Likewise.
+
+       * symfile.c (syms_from_objfile): Remove special handling
+       of builtin_type_void and builtin_type_char.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * eval.c (evaluate_subexp_standard): Use exp->gdbarch types instead
+       of builtin_type_ macros when handling OP_OBJC_ operations.
+       * objc-lang.c (print_object_command): Likewise.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * ada-valprint.c: Include "objfiles.h".
+       (ada_val_print_1): Use the gdbarch associated with the objfile whether
+       a System.Address type is defined to retrieve the proper pointer type
+       to use to print it.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * ada-lang.c (value_pos_atr): Add TYPE argument.  Use it as
+       result type instead of builtin_type_int.
+       (value_subscript_packed): Use pos_atr instead of value_pos_atr.
+       (ada_value_subscript): Update call to value_pos_atr.
+       (ada_value_ptr_subscript): Likewise.
+       (ada_evaluate_subexp): Likewise.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * ada-lang.c (cast_to_fixed): Do not cast to builtin_type_double.
+       (cast_from_fixed_to_double): Rename to ...
+       (cast_from_fixed): ... this.  Add TYPE parameter.  Use it instead
+       of builtin_type_double.
+       (ada_value_cast): Use cast_from_fixed instead of casting result
+       of cast_from_fixed_to_double.
+       (ada_evaluate_subexp): Update calls to cast_from_fixed_to_double. 
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * valops.c (value_ind): No longer allow dereferencing an
+       integer type.
+       * eval.c (evaluate_subexp_standard): Handle deferencing an
+       integer type here.
+       * ada-lang.c (ada_evaluate_subexp): Likewise.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * ada-valprint.c (ada_val_print_1): When implicitly dereferencing
+       a reference type, pass the reference type directly to unpack_pointer.
+       * c-valprint.c (c_val_print): Likewise.
+       * f-valprint.c (f_val_print): Likewise.
+       * m2-valprint.c (print_variable_at_address, m2_val_print): Likewise.
+       * p-valprint.c (pascal_val_print): Likewise.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * eval.c (evaluate_subexp_standard): Use builtin_type_int8
+       to construct the EVAL_SKIP dummy return value.
+       * ada-lang.c (ada_evaluate_subexp): Likewise.
+       * jv-lang.c (evaluate_subexp_java): Likewise.
+       * m2-lang.c (evaluate_subexp_modula2): Likewise.
+       * scm-lang.c (evaluate_exp): Likewise.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * value.h (coerce_enum, coerce_number): Remove prototypes.
+       * value.c (coerce_enum, coerce_number): Remove.
+       * valarith.c (value_x_binop): Do not call coerce_enum.
+       (value_x_unop): Likewise.
+       (value_logical_not): Call coerce_array instead of coerce_number.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * ax-gdb.c: Include "language.h".
+       (gen_frame_args_address): Add GDBARCH parameter; use it
+       instead of current_gdbarch.
+       (gen_frame_locals_address): Likewise.
+       (gen_var_ref): Add GDBARCH parameter.  Update calls to
+       gen_frame_args_address and gen_frame_locals_address.  Use
+       pointer type from gdbarch.
+       (gen_usual_unary): Add EXP parameter.  Use integer type
+       from exp->gdbarch.
+       (gen_usual_arithmetic): Likewise.
+       (gen_integral_promotions): Likewise.
+       (gen_add, gen_sub): Remove.
+       (gen_ptradd, gen_ptrsub, gen_ptrdiff): New functions.
+       (gen_logical_not): Use passed-in boolean result type
+       instead of builtin_type_int.
+       (gen_complement): Do not call gen_usual_unary or
+       gen_integral_promotions.
+       (gen_struct_ref): Call require_rvalue instead of gen_usual_unary.
+       (gen_repeat): Add EXP parameter.  Update call to gen_expr.
+       Use builtin_type_int32 as internal range type.
+       (gen_sizeof): Add EXP and SIZE_TYPE parameters.  Use SIZE_TYPE
+       as result type.  Update call to gen_expr.
+       (gen_expr): Add EXP parameter.  Update calls to gen_expr,
+       gen_repeat, gen_var_ref, gen_usual_unary, gen_usual_arithmetic,
+       and gen_integral_promotions.  Call gen_ptradd, gen_ptrsub,
+       gen_ptrdiff, or gen_binop instead of gen_add or gen_sub.
+       Use exp->gdbarch instead of current_gdbarch.
+       Call language_bool_type to determine result type of UNOP_LOGICAL_NOT.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * eval.c (evaluate_subexp_standard): Add calls to binop_promote
+       and unop_promote before calling value_binop et. al.
+       * ada-lang.c (ada_evaluate_subexp): Add calls to binop_promote
+       and unop_promote before calling value_binop et. al.
+
+       * valarith.c (value_binop): Do not call binop_promote or unop_promote.
+       (value_pos): Do not call unop_promote.
+       (value_neg, value_complement): Likewise.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * value.h (unop_promote, binop_promote): Add prototypes.
+       * eval.c (unop_promote, binop_promote): New functions.
+       * valarith.c (unop_result_type, binop_result_type): Remove.
+       (value_binop): Call binop_promote or unop_promote.
+       Inline remaining parts of binop_result_type.  Remove special
+       code to truncate integer values for unsigned operations.
+       (value_pos): Call unop_promote.  Inline remaining parts of
+       unop_result_type.
+       (value_neg, value_complement): Likewise.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * value.h (value_add, value_sub): Remove.
+       (value_ptradd, value_ptrsub, value_ptrdiff): Add prototypes.
+       * valarith.c (value_add, value_sub): Remove.
+       (value_ptradd, value_ptrsub, value_ptrdiff): New functions.
+       (find_size_for_pointer_math): Add assertion.  Update comment.
+       (value_binop): Update comment.
+
+       * eval.c (ptrmath_type_p): New function.
+       (evaluate_subexp_standard): Replace value_add and value_sub
+       by value_ptradd, value_ptrsub, value_ptrdiff or value_binop.
+       Use builtin_type_uint8 instead of builtin_type_char to hold
+       the increment for BINOP_{PRE,POST}{IN,DE}CREMENT operations.
+       * valarith.c (value_subscript): Replace value_add by
+       value_ptradd.  Replace value_sub by value_binop.
+       * ada-lang.c (ada_value_ptr_subscript): Likewise.
+       (ada_tag_name_2): Replace value_add by value_ptradd.
+       (ada_evaluate_subexp): Replace value_add and value_sub by
+       value_binop.
+       * m2-lang.c (evaluate_subexp_modula2): Replace value_add
+       by value_ptradd.
+       * gnu-v2-abi.c (gnuv2_virtual_fn_field): Likewise.
+       * gnu-v3-abi.c (gnuv3_method_ptr_to_value): Likewise.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * eval.c (evaluate_subexp_for_sizeof): Use builtin_int type of
+       the expression architecture instead of builtin_type_int as the
+       sizeof return type.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * expression.h (enum exp_opcode): Document OP_COMPLEX to take
+       a type parameter as expression element.
+       * eval.c (evaluate_subexp_standard) [OP_COMPLEX]: Retrieve result
+       type as expression element.
+       * f-exp.y: Pass in type when buildin OP_COMPLEX expression.
+       * parse.c (operator_length_standard): Update length of OP_COMPLEX.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * language.h (struct language_arch_info): New members
+       bool_type_default and bool_type_symbol.
+       (lang_bool_type): Remove prototype.
+       (LA_BOOL_TYPE): Remove macro.
+       (language_bool_type): Add prototype.
+       * language.c (lang_bool_type): Remove.
+       (language_bool_type): New function.
+
+       * value.h (value_in): Change return value to int.
+       * value.c (value_in): Return int instead of struct value *.
+
+       * eval.c (evaluate_subexp_standard): Call language_bool_type instead
+       of using LA_BOOL_TYPE.  Update call to value_in.
+       * ada-lang.c (ada_evaluate_subexp): Call language_bool_type instead
+       of using LA_BOOL_TYPE or builtin_type_int for boolean values.
+
+       * language.c (unknown_language_arch_info): Set bool_type_default member
+       of struct language_arch_info.
+       * ada-lang.c (ada_language_arch_info): Set bool_type_symbol and
+       bool_type_default members of struct language_arch_info.
+       * c-lang.c (c_language_arch_info): Set bool_type_default member
+       of struct language_arch_info.
+       (cplus_language_arch_info): Set bool_type_symbol and bool_type_default
+       members of struct language_arch_info.
+       * f-lang.c (f_language_arch_info): Set bool_type_symbol and
+       bool_type_default members of struct language_arch_info.
+       * jv-lang.c (java_language_arch_info): Set bool_type_symbol and
+       bool_type_default members of struct language_arch_info.
+       * m2-lang.c (m2_language_arch_info): Set bool_type_symbol and
+       bool_type_default members of struct language_arch_info.
+       * p-lang.c (p_language_arch_info): Set bool_type_symbol and
+       bool_type_default members of struct language_arch_info.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * jv-lang.c (enum java_primitive_types): New type.
+       (java_language_arch_info): New function.
+       (java_language): Use it instead of c_language_arch_info.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * value.h (value_bitstring_subscript): New prototype.
+       * valarith.h (value_bitstring_subscript): New function.
+       (value_subscript): No longer handle TYPE_CODE_BITSTRING.
+       * eval.c (evaluate_subexp_standard): Call value_bitstring_subscript
+       instead of value_subscript to handle TYPE_CODE_BITSTRING.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * expression.h (struct expression): New member GDBARCH.
+       * parse.c (parse_exp_in_context): Initialize it.
+       * parser-def.h (parse_gdbarch, parse_language): New macros.
+
+       * ada-exp.y (parse_type): New macro.
+       Replace builtin_type_ macros by using parse_type.
+       Replace current_language by parse_language.
+       * ada-lex.l (processInt): Replace current_gdbarch by parse_gdbarch.
+       Replace builtin_type_ macros.
+
+       * c-exp.y (parse_type): New macro.
+       Replace builtin_type_ macros by using parse_type.
+       (parse_number): Replace current_gdbarch by parse_gdbarch.
+       (yylex): Replace current_language by parse_language.
+
+       * f-exp.y (parse_type, parse_f_type): New macros.
+       Replace builtin_type_ macros by using parse_{f_,}type.
+       (parse_number): Replace current_gdbarch by parse_gdbarch.
+       (yylex): Replace current_language by parse_language.
+
+       * jv-exp.y (parse_type): New macro.
+       (parse_number): Replace builtin_type_ macros by using parse_type.
+
+       * m2-exp.y (parse_type, parse_m2_type): New macros.
+       Replace builtin_type_ macros by using parse_{m2_,}type.
+
+       * objc-exp.y (parse_type): New macro.
+       Replace builtin_type_ macros by using parse_type.
+       (parse_number): Replace current_gdbarch by parse_gdbarch.
+       (yylex): Replace current_language by parse_language.
+
+       * p-exp.y (parse_type): New macro.
+       Replace builtin_type_ macros by using parse_type.
+       (parse_number): Replace current_gdbarch by parse_gdbarch.
+       (yylex): Replace current_language by parse_language.
+
+2008-09-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * parser-defs.h (write_exp_msymbol): Remove TEXT_SYMBOL_TYPE
+       and DATA_SYMBOL_TYPE arguments.
+       * parse.c (write_exp_msymbol): Remove TEXT_SYMBOL_TYPE and
+       DATA_SYMBOL_TYPE arguments.  Replace use of builtin_type_CORE_ADDR.
+       (write_dollar_variable): Update call.
+
+       * ada-exp.y (write_var_or_type): Update call.
+       * c-exp.y: Likewise.
+       * f-exp.y: Likewise.
+       * jv-exp.y: Likewise.
+       * m2-exp.y: Likewise.
+       * objc-exp.y: Likewise.
+       * p-exp.y: Likewise.
+
+2008-09-10  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (ada_parent_type): Add handling of the case where
+       the _parent field is a pointer and/or has a parallel XVS type.
+       (ada_evaluate_subexp) [OP_VAR_VALUE]: When doing an
+       EVAL_AVOID_SIDE_EFFECTS evaluation of a tagged type, return
+       the type of the tag instead of doing forcing an EVAL_NORMAL
+       expression evaluation.
+
+2008-09-10  Paul N. Hilfinger  <hilfinger@adacore.com> 
+           Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (is_digits_suffix): New function.
+       (is_dot_digits_suffix): Remove.
+       (ada_lookup_symbol_list): Remove digits suffix from minimal symbols
+       before looking up in symbol table, and do not use wild matches on them.
+       (wild_match): Reimplement for speed and to allow matching of operator
+       symbols.
+       (is_valid_name_for_wild_match): Return zero for names that do not
+       follow the GNAT encoding.
+
+       (is_name_suffix): Fix typo in comment.
+       (to_record_with_fixed_variant_part): Ditto.
+
+2008-09-10  Pedro Alves  <pedro@codesourcery.com>
+
+       * Makefile.in (gnu-nat.o): New rule.
+
+2008-09-10  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (ada_evaluate_subexp) [OP_ATR_SIZE]: Use
+       archecture-neutral builtin_type_int32 instead of builtin_type_int.
+
+2008-09-10  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (ada_evaluate_subexp) [BINOP_ADD, BINOP_SUB]:
+       Add special handling for pointer types.
+
+2008-09-10  Pedro Alves  <pedro@codesourcery.com>
+
+       * inf-ttrace.c (inf_ttrace_follow_fork): Declare locals at the
+       right scope level.
+       (inf_ttrace_resume, inf_ttrace_wait): Typos.
+
+2008-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * ada-lang.c (ada_array_length): Use builtin_type_int32 instead
+       of builtin_type_int.
+       (ada_evaluate_subexp) [UNOP_IN_RANGE]: Use operand range type
+       instead of builtin_type_int.
+
+2008-09-09  Pedro Alves  <pedro@codesourcery.com>
+
+       * infrun.c (normal_stop): Run hook-stop last.
+
+2008-09-09  Pedro Alves  <pedro@codesourcery.com>
+
+       * gnu-nat.c (gnu_pid_to_exec_file): Delete.
+       (init_gnu_ops): Don't register it.
+
+2008-09-09  Pedro Alves  <pedro@codesourcery.com>
+
+       * gnu-nat.c (gnu_attach): Push target before fetching the list of
+       threads.
+
+2008-09-08  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * valops.c (value_cast_structs): Return NULL for failure.
+       (value_cast): Handle NULL from value_cast_structs.
+       (value_fetch_lazy): Call check_typedef.  Remove unused variable.
+
+2008-09-08  Pedro Alves  <pedro@codesourcery.com>
+
+       * inferior.h (context_switch_to): Delete.
+       * infrun.c (context_switch): Don't save and load infrun state.
+       (context_switch_to): Delete.
+
+       * infcmd.c (proceed_thread_callback): Replace context_switch_to
+       calls by switch_to_thread calls.
+
+       * gdbthread.h (save_infrun_state, load_infrun_state): Delete.
+       * thread.c (main_thread_state, main_thread_executing): Delete.
+       (inferior_thread): Delete references to them.
+       (add_thread_silent): Fix case where we're adding a thread with the
+       same ptid as an exited thread.  Remove references to
+       context-switching.
+       (load_infrun_state, save_infrun_state): Delete.
+       (thread_alive, is_thread_state, any_running, is_executing)
+       (set_executing): Remove the special handling for targets that
+       don't register any thread.
+       (restore_current_thread, thread_apply_all_command)
+       (do_captured_thread_select): Unconditionally call
+       switch_to_thread.
+
+       * mi/mi-main.c (mi_cmd_execute): Check for exited threads.
+       Call switch_to_thread instead of context_switch_to.
+
+2008-09-08  Pedro Alves  <pedro@codesourcery.com>
+
+       Remove global continuations in favour of a per-thread
+       continuations.
+
+       * gdbthread.h (struct thread_info): Add comments around
+       continuations and intermediate_continuations.
+       (save_infrun_state, load_infrun_state): Delete continuations and
+       intermediate_continuations arguments.
+       * infrun.c (context_switch): Don't context-switch the continuations.
+       * thread.c (clear_thread_inferior_resources): Discard all
+       continuations of the thread we're clearing.
+       (save_infrun_state, load_infrun_state): Delete continuations and
+       intermediate_continuations arguments, and the code referencing
+       them.
+       * utils.c: Include "gdbthread.h".
+       (cmd_continuation, intermediate_continuation): Delete.
+       (add_continuation): Add thread_info* argument.  Install the
+       continuation on it.
+       (restore_thread_cleanup): New.
+       (do_all_continuations_ptid, do_all_continuations_thread_callback):
+       New.
+       (do_all_continuations): Reimplement.
+       (discard_all_continuations_thread_callback,
+       discard_all_continuations_thread): New.
+       (discard_all_continuations): Reimplement.
+       (add_intermediate_continuation): Add thread_info* argument.
+       Install the continuation on it.
+       (do_all_intermediate_continuations_thread_callback)
+       (do_all_intermediate_continuations_thread): New.
+       (do_all_intermediate_continuations): Reimplement.
+       (discard_all_intermediate_continuations_thread_callback): New.
+       (discard_all_intermediate_continuations_thread): New.
+       (discard_all_intermediate_continuations): Reimplement.
+
+       * breakpoint.c (until_break_command): Install the continuation on
+       the current thread.
+
+       * defs.h (cmd_continuation, intermediate_continuation): Delete.
+       (struct thread_info): Forward declare.
+       (add_continuation, add_intermediate_continuation): Add
+       thread_info* argument.
+       (do_all_continuations_thread, discard_all_continuations_thread)
+       (do_all_intermediate_continuations_thread)
+       (discard_all_intermediate_continuations_thread): Declare.
+       * inf-loop.c (inferior_event_handler): In non-stop only run
+       continuations on the thread that stopped.  In all-stop, run
+       continuations on all threads.
+       * infcmd.c (step_once, finish_command): Adjust.
+
+2008-09-08  Pedro Alves  <pedro@codesourcery.com>
+
+       Remove the global stop_step in favour of a per-thread
+       stop_step.
+
+       * inferior.h (stop_step): Delete.
+
+       * gdbthread.h (struct thread_info): Add comments to stop_step.
+       (save_infrun_state, load_infrun_state): Remove stop_step argument.
+       * thread.c (load_infrun_state, save_infrun_state): Remove
+       stop_step argument, and references to it.
+
+       * infrun.c (clear_proceed_status): Clear stop_step.
+       (fetch_inferior_event): Adjust.
+       (context_switch): Don't context-switch stop_step.
+       (handle_inferior_event): Adjust.
+       (normal_stop): Adjust.
+       (save_inferior_status, restore_inferior_status): Adjust.
+
+       * infcmd.c (stop_step): Delete.
+       (step_1, step_1_continuation, step_once, until_next_command):
+       Adjust.
+
+2008-09-08  Pedro Alves  <pedro@codesourcery.com>
+
+       Remove the global step_multi in favour of a per-thread
+       step_multi.
+
+       * inferior.h (step_multi): Delete.
+       * gdbthread.h (struct thread_info): Add comments around
+       step_multi.
+       (save_infrun_state, load_infrun_state): Remove step_multi
+       parameter.
+       * thread.c (load_infrun_state, save_infrun_state): Remove
+       step_multi argument, and references to it.
+       * infcmd.c (step_multi): Delete.
+       (step_1): Adjust.
+       (step_1_continuation, until_next_command): Adjust.
+       * infrun.c (fetch_inferior_event): Adjust.
+       (context_switch): Don't context-switch step_multi.
+       (print_stop_reason, normal_stop): Adjust.
+
 2008-09-08  Pedro Alves  <pedro@codesourcery.com>
 
        Remove the global stop_signal in favour of a per-thread
This page took 0.028015 seconds and 4 git commands to generate.