diff options
-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. */ |