* Fixes for chill PR 15681
authorFrank Ch. Eigler <fche@redhat.com>
Mon, 4 May 1998 15:16:42 +0000 (15:16 +0000)
committerFrank Ch. Eigler <fche@redhat.com>
Mon, 4 May 1998 15:16:42 +0000 (15:16 +0000)
Fri May  1 19:51:32 1998  Frank Ch. Eigler  <fche@cygnus.com>

* stabsread.c (read_one_struct_field): Do not override supplied
  bitfield size for a range type value.

* gdbtypes.c (create_range_type): For a range with positive
lower limit, declare range type as unsigned.

gdb/ChangeLog
gdb/gdbtypes.c
gdb/stabsread.c

index 884f961..72d9e9f 100644 (file)
@@ -2,6 +2,14 @@ Sat May  2 09:35:07 1998  Stu Grossman  <grossman@babylon-5.cygnus.com>
 
        * ser-unix.c (baudtab):  Add 57600, 115200, 230400, and 460800 baud.
 
+Fri May  1 19:51:32 1998  Frank Ch. Eigler  <fche@cygnus.com>
+
+       * stabsread.c (read_one_struct_field): Do not override supplied
+       bitfield size for a range type value.
+
+       * gdbtypes.c (create_range_type): For a range with positive 
+       lower limit, declare range type as unsigned.
+
 Fri May  1 10:58:34 1998  John Metzler  <jmetzler@cygnus.com>
 
        * monitor.c: Turn off debug
index 1c3bbf2..416180e 100644 (file)
@@ -358,6 +358,9 @@ create_range_type (result_type, index_type, low_bound, high_bound)
   TYPE_FIELD_TYPE (result_type, 0) = builtin_type_int;         /* FIXME */
   TYPE_FIELD_TYPE (result_type, 1) = builtin_type_int;         /* FIXME */
 
+  if(low_bound >= 0)
+    TYPE_FLAGS (result_type) |= TYPE_FLAG_UNSIGNED;
+
   return (result_type);
 }
 
index e873610..480bb1c 100644 (file)
@@ -3434,6 +3434,7 @@ read_one_struct_field (fip, pp, p, type, objfile)
         and treat enums as if they had the width of ints.  */
 
       if (TYPE_CODE (FIELD_TYPE (fip->list->field)) != TYPE_CODE_INT
+         && TYPE_CODE (FIELD_TYPE (fip->list->field)) != TYPE_CODE_RANGE
          && TYPE_CODE (FIELD_TYPE (fip->list->field)) != TYPE_CODE_BOOL
          && TYPE_CODE (FIELD_TYPE (fip->list->field)) != TYPE_CODE_ENUM)
        {