* value.h (COERCE_ARRAY): Don't coerce enums.
authorPer Bothner <per@bothner.com>
Wed, 24 Jan 1996 00:35:09 +0000 (00:35 +0000)
committerPer Bothner <per@bothner.com>
Wed, 24 Jan 1996 00:35:09 +0000 (00:35 +0000)
(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.

gdb/ChangeLog
gdb/values.c

index 0d703fb0492d69e1f78143c934cbf9c240497061..50aaf96b2999b625fe482929adc4fa0742879c11 100644 (file)
@@ -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.
 
index 76062bb201c21a5d4a5c9fca987abe048af57cff..f95c831601dbe986d5cdee4d61f76d97aa8e0d99 100644 (file)
@@ -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));
 }