aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>1996-01-24 00:35:09 +0000
committerPer Bothner <per@bothner.com>1996-01-24 00:35:09 +0000
commit533bda77040578d94e4151d6b5f9bbe63c7a9d9d (patch)
treefec8402c2e9409d0948cca4ed777d86397855433
parenta4ff5d3332e555afd1f68b930d774d3b60003b13 (diff)
downloadfsf-binutils-gdb-533bda77040578d94e4151d6b5f9bbe63c7a9d9d.zip
fsf-binutils-gdb-533bda77040578d94e4151d6b5f9bbe63c7a9d9d.tar.gz
fsf-binutils-gdb-533bda77040578d94e4151d6b5f9bbe63c7a9d9d.tar.bz2
* value.h (COERCE_ARRAY): Don't coerce enums.
(COERCE_ENUM): Don't COERCE_REF. (COERCE_NUMBER): New macro (same as COERCE_ARRAY then COERCE_ENUM). * valops.c (value_assign): Only do COERCE_ARRAY if internalvar (let value_cast handle it otherwise); do *not* COERCE_ENUM either way. * valarith.c: Use COERCE_NUMBER instead od COEREC_ARRAY. Add COERCE_REF before COERCE_ENUM. * values.c (value_as_long): Simplify. This fixes PR chill/8869. * valops.c (value_array): Create internalvar if !c_style_arrays.
-rw-r--r--gdb/ChangeLog11
-rw-r--r--gdb/values.c3
2 files changed, 12 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0d703fb..50aaf96 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,16 @@
Tue Jan 23 14:36:05 1996 Per Bothner <bothner@kalessin.cygnus.com>
+ * value.h (COERCE_ARRAY): Don't coerce enums.
+ (COERCE_ENUM): Don't COERCE_REF.
+ (COERCE_NUMBER): New macro (same as COERCE_ARRAY then COERCE_ENUM).
+ * valops.c (value_assign): Only do COERCE_ARRAY if internalvar (let
+ value_cast handle it otherwise); do *not* COERCE_ENUM either way.
+ * valarith.c: Use COERCE_NUMBER instead od COEREC_ARRAY.
+ Add COERCE_REF before COERCE_ENUM.
+ * values.c (value_as_long): Simplify.
+
+ * valops.c (value_array): Create internalvar if !c_style_arrays.
+
* language.c (lang_bool_type): Add Fortran support.
* eval.c (OP_BOOL): Use LA_BOOL_TYPE.
diff --git a/gdb/values.c b/gdb/values.c
index 76062bb..f95c831 100644
--- a/gdb/values.c
+++ b/gdb/values.c
@@ -556,8 +556,7 @@ value_as_long (val)
/* This coerces arrays and functions, which is necessary (e.g.
in disassemble_command). It also dereferences references, which
I suspect is the most logical thing to do. */
- if (TYPE_CODE (VALUE_TYPE (val)) != TYPE_CODE_ENUM)
- COERCE_ARRAY (val);
+ COERCE_ARRAY (val);
return unpack_long (VALUE_TYPE (val), VALUE_CONTENTS (val));
}