From: Frank Ch. Eigler Date: Mon, 4 May 1998 15:16:42 +0000 (+0000) Subject: * Fixes for chill PR 15681 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ce22529028dd9d6afbd97851334ee4cb19f2e2a9;p=binutils-gdb.git * 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 884f96193a1..72d9e9fed8d 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 1c3bbf2b364..416180e6498 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 e873610ba12..480bb1cbb34 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) {