From: Ulrich Weigand Date: Thu, 11 Sep 2008 14:16:14 +0000 (+0000) Subject: * value.h (coerce_enum, coerce_number): Remove prototypes. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=0ab7ba45fa26e78626617b4d90725fc921c74f69;p=deliverable%2Fbinutils-gdb.git * 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c6761abe1a..40dbd22878 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2008-09-11 Ulrich Weigand + + * 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 * ax-gdb.c: Include "language.h". diff --git a/gdb/valarith.c b/gdb/valarith.c index b4bce73059..b9b36570fe 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 b38bae064a..c0e6c99b36 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 ba89858a5f..9665303148 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. */