diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2009-06-29 13:24:41 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2009-06-29 13:24:41 +0000 |
commit | 2497b4984582be980b40913ef1bf561ccad2f265 (patch) | |
tree | 3c63910f2617b06eb5f73bc95326f6eb7b73720a /gdb/ada-lang.c | |
parent | 0c8b41f1c6ca809238df5662ea5f45e5f7a29121 (diff) | |
download | gdb-2497b4984582be980b40913ef1bf561ccad2f265.zip gdb-2497b4984582be980b40913ef1bf561ccad2f265.tar.gz gdb-2497b4984582be980b40913ef1bf561ccad2f265.tar.bz2 |
* 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.
Diffstat (limited to 'gdb/ada-lang.c')
-rw-r--r-- | gdb/ada-lang.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 9986ef2..6ac0c9f 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -2273,7 +2273,7 @@ ada_value_subscript (struct value *arr, int arity, struct value **ind) { if (TYPE_CODE (elt_type) != TYPE_CODE_ARRAY) error (_("too many subscripts (%d expected)"), k); - elt = value_subscript (elt, value_pos_atr (builtin_type_int32, ind[k])); + elt = value_subscript (elt, pos_atr (ind[k])); } return elt; } @@ -2291,19 +2291,13 @@ ada_value_ptr_subscript (struct value *arr, struct type *type, int arity, for (k = 0; k < arity; k += 1) { LONGEST lwb, upb; - struct value *idx; if (TYPE_CODE (type) != TYPE_CODE_ARRAY) error (_("too many subscripts (%d expected)"), k); arr = value_cast (lookup_pointer_type (TYPE_TARGET_TYPE (type)), value_copy (arr)); get_discrete_bounds (TYPE_INDEX_TYPE (type), &lwb, &upb); - idx = value_pos_atr (builtin_type_int32, ind[k]); - if (lwb != 0) - idx = value_binop (idx, value_from_longest (value_type (idx), lwb), - BINOP_SUB); - - arr = value_ptradd (arr, idx); + arr = value_ptradd (arr, pos_atr (ind[k]) - lwb); type = TYPE_TARGET_TYPE (type); } @@ -5568,8 +5562,7 @@ ada_tag_name_2 (struct tag_args *args) valp = value_cast (info_type, args->tag); if (valp == NULL) return 0; - val = value_ind (value_ptradd (valp, - value_from_longest (builtin_type_int8, -1))); + val = value_ind (value_ptradd (valp, -1)); if (val == NULL) return 0; val = ada_value_struct_elt (val, "expanded_name", 1); |