From ce22529028dd9d6afbd97851334ee4cb19f2e2a9 Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Mon, 4 May 1998 15:16:42 +0000 Subject: * Fixes for chill PR 15681 Fri May 1 19:51:32 1998 Frank Ch. Eigler * 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 | 8 ++++++++ gdb/gdbtypes.c | 3 +++ gdb/stabsread.c | 1 + 3 files changed, 12 insertions(+) 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 * ser-unix.c (baudtab): Add 57600, 115200, 230400, and 460800 baud. +Fri May 1 19:51:32 1998 Frank Ch. Eigler + + * 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 * 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) { -- cgit v1.1