diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2008-09-11 14:16:14 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2008-09-11 14:16:14 +0000 |
commit | 0ab7ba45fa26e78626617b4d90725fc921c74f69 (patch) | |
tree | d6297abeb32140db80712332093d7dbc9f6118e6 | |
parent | f7c79c4197b4e8003d9c9828b2e22df6444c5860 (diff) | |
download | gdb-0ab7ba45fa26e78626617b4d90725fc921c74f69.zip gdb-0ab7ba45fa26e78626617b4d90725fc921c74f69.tar.gz gdb-0ab7ba45fa26e78626617b4d90725fc921c74f69.tar.bz2 |
* 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.
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/valarith.c | 5 | ||||
-rw-r--r-- | gdb/value.c | 16 | ||||
-rw-r--r-- | gdb/value.h | 6 |
4 files changed, 9 insertions, 26 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c6761ab..40dbd22 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,13 @@ 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. diff --git a/gdb/valarith.c b/gdb/valarith.c index b4bce73..b9b3657 100644 --- a/gdb/valarith.c +++ b/gdb/valarith.c @@ -359,8 +359,6 @@ value_x_binop (struct value *arg1, struct value *arg2, enum exp_opcode op, arg1 = coerce_ref (arg1); arg2 = coerce_ref (arg2); - arg1 = coerce_enum (arg1); - arg2 = coerce_enum (arg2); /* now we know that what we have to do is construct our arg vector and find the right function to call it with. */ @@ -520,7 +518,6 @@ value_x_unop (struct value *arg1, enum exp_opcode op, enum noside noside) int static_memfuncp, nargs; arg1 = coerce_ref (arg1); - arg1 = coerce_enum (arg1); /* now we know that what we have to do is construct our arg vector and find the right function to call it with. */ @@ -1287,7 +1284,7 @@ value_logical_not (struct value *arg1) const gdb_byte *p; struct type *type1; - arg1 = coerce_number (arg1); + arg1 = coerce_array (arg1); type1 = check_typedef (value_type (arg1)); if (TYPE_CODE (type1) == TYPE_CODE_FLT) diff --git a/gdb/value.c b/gdb/value.c index b38bae0..c0e6c99 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -1700,22 +1700,6 @@ coerce_array (struct value *arg) arg = value_coerce_function (arg); return arg; } - -struct value * -coerce_number (struct value *arg) -{ - arg = coerce_array (arg); - arg = coerce_enum (arg); - return arg; -} - -struct value * -coerce_enum (struct value *arg) -{ - if (TYPE_CODE (check_typedef (value_type (arg))) == TYPE_CODE_ENUM) - arg = value_cast (builtin_type_unsigned_int, arg); - return arg; -} /* Return true if the function returning the specified type is using diff --git a/gdb/value.h b/gdb/value.h index ba89858..9665303 100644 --- a/gdb/value.h +++ b/gdb/value.h @@ -230,17 +230,11 @@ extern short *deprecated_value_regnum_hack (struct value *); extern struct value *coerce_ref (struct value *value); /* If ARG is an array, convert it to a pointer. - If ARG is an enum, convert it to an integer. If ARG is a function, convert it to a function pointer. References are dereferenced. */ extern struct value *coerce_array (struct value *value); -extern struct value *coerce_number (struct value *value); - -/* If ARG is an enum, convert it to an integer. */ - -extern struct value *coerce_enum (struct value *value); /* Internal variables (variables for convenience of use of debugger) are recorded as a chain of these structures. */ |