+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]: