aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/gdbtypes.c3
-rw-r--r--gdb/stabsread.c1
3 files changed, 12 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 884f961..72d9e9f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
index 1c3bbf2..416180e 100644
--- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c
@@ -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);
}
diff --git a/gdb/stabsread.c b/gdb/stabsread.c
index e873610..480bb1c 100644
--- a/gdb/stabsread.c
+++ b/gdb/stabsread.c
@@ -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)
{