mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
* stabsread.c (rs6000_builtin_type): Make bool type unsigned.
(read_one_struct_field): Support boolean bitfields. * c-valprint.c (c_val_print): Print booleans properly.
This commit is contained in:
parent
4e327047ce
commit
c6038971d6
@ -1,3 +1,9 @@
|
||||
Tue Jan 23 18:02:35 1996 Per Bothner <bothner@kalessin.cygnus.com>
|
||||
|
||||
* stabsread.c (rs6000_builtin_type): Make bool type unsigned.
|
||||
(read_one_struct_field): Support boolean bitfields.
|
||||
* c-valprint.c (c_val_print): Print booleans properly.
|
||||
|
||||
Tue Jan 23 18:54:09 1996 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* remote-vxsparc.c (vx_convert_to_virtual, vx_convert_from_virtual):
|
||||
|
@ -335,8 +335,20 @@ c_val_print (type, valaddr, address, stream, format, deref_ref, recurse,
|
||||
break;
|
||||
|
||||
case TYPE_CODE_BOOL:
|
||||
/* Do something at least vaguely reasonable, for example if the
|
||||
language is set wrong. */
|
||||
format = format ? format : output_format;
|
||||
if (format)
|
||||
print_scalar_formatted (valaddr, type, format, 0, stream);
|
||||
else
|
||||
{
|
||||
val = unpack_long (type, valaddr);
|
||||
if (val == 0)
|
||||
fputs_filtered ("false", stream);
|
||||
else if (val == 1)
|
||||
fputs_filtered ("true", stream);
|
||||
else
|
||||
print_longest (stream, 'd', 0, val);
|
||||
}
|
||||
break;
|
||||
|
||||
case TYPE_CODE_RANGE:
|
||||
/* FIXME: create_range_type does not set the unsigned bit in a
|
||||
|
@ -1855,7 +1855,8 @@ rs6000_builtin_type (typenum)
|
||||
rettype = init_type (TYPE_CODE_INT, 4, 0, "integer", NULL);
|
||||
break;
|
||||
case 16:
|
||||
rettype = init_type (TYPE_CODE_BOOL, 4, 0, "boolean", NULL);
|
||||
rettype = init_type (TYPE_CODE_BOOL, 4, TYPE_FLAG_UNSIGNED,
|
||||
"boolean", NULL);
|
||||
break;
|
||||
case 17:
|
||||
rettype = init_type (TYPE_CODE_FLT, 4, 0, "short real", NULL);
|
||||
@ -2458,6 +2459,7 @@ read_one_struct_field (fip, pp, p, type, objfile)
|
||||
and treat enums as if they had the width of ints. */
|
||||
|
||||
if (TYPE_CODE (fip -> list -> field.type) != TYPE_CODE_INT
|
||||
&& TYPE_CODE (fip -> list -> field.type) != TYPE_CODE_BOOL
|
||||
&& TYPE_CODE (fip -> list -> field.type) != TYPE_CODE_ENUM)
|
||||
{
|
||||
fip -> list -> field.bitsize = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user