* 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:
Ulrich Weigand 2008-09-11 14:16:14 +00:00
parent f7c79c4197
commit 0ab7ba45fa
4 changed files with 9 additions and 26 deletions

View File

@ -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".

View File

@ -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)

View File

@ -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

View File

@ -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. */