summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/valarith.c5
-rw-r--r--gdb/value.c16
-rw-r--r--gdb/value.h6
4 files changed, 9 insertions, 26 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c6761abe1ad..40dbd228782 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 b4bce730593..b9b36570fe2 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 b38bae064a3..c0e6c99b367 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 ba89858a5f8..9665303148d 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. */