diff --git a/gdb/ChangeLog.hpread b/gdb/ChangeLog.hpread index 4534bb56aa..cfe6d1bb02 100644 --- a/gdb/ChangeLog.hpread +++ b/gdb/ChangeLog.hpread @@ -1,5 +1,9 @@ Wed Sep 28 00:35:23 1994 Jeff Law (law@snake.cs.utah.edu) + * hpread.c (hpread_read_array_type): Do not change the type code + to TYPE_CODE_PTR for "char foo[]". Just make it a zero length + array type. + * hpread.c (hpread_type_translate): Handle T_UNS_LONG types with lengths other than 32bits (HP C 9.69 represents an "unsigned char" as an T_UNS_LONG with length 8). diff --git a/gdb/hpread.c b/gdb/hpread.c index f070d3e633..ad142a8ea8 100644 --- a/gdb/hpread.c +++ b/gdb/hpread.c @@ -1556,9 +1556,8 @@ hpread_read_array_type (hp_type, dn_bufp, objfile) { /* The HP debug format represents char foo[]; as an array with length 0x7fffffff. Internally GDB wants to represent this - as a pointer. Ugh. */ - TYPE_CODE (type) = TYPE_CODE_PTR; - TYPE_LENGTH (type) = 4; + as an array of length zero. */ + TYPE_LENGTH (type) = 0; } else TYPE_LENGTH (type) = dn_bufp->darray.arraylength / 8;