* 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.
This commit is contained in:
parent
f7c79c4197
commit
0ab7ba45fa
|
@ -1,3 +1,11 @@
|
|||
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".
|
||||
|
|
|
@ -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)
|
||||
|
|
16
gdb/value.c
16
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
|
||||
|
|
|
@ -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. */
|
||||
|
|
Loading…
Reference in New Issue