diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/stabsread.c | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index dcd68d6..2dcaab8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Thu Feb 3 12:38:58 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabsread.c (read_sun_builtin_type): Skip the semicolon at the end + of the type if present. + Wed Feb 2 11:16:45 1994 Jim Kingdon (kingdon@lioth.cygnus.com) * printcmd.c (decode_format): Don't blithely set the size for diff --git a/gdb/stabsread.c b/gdb/stabsread.c index 0b18d04..8a786df 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -3043,6 +3043,14 @@ read_sun_builtin_type (pp, typenums, objfile) type_bits = read_huge_number (pp, 0, &nbits); if (nbits != 0) return error_type (pp); + /* The type *should* end with a semicolon. If it are embedded + in a larger type the semicolon may be the only way to know where + the type ends. If this type is at the end of the stabstring we + can deal with the omitted semicolon (but we don't have to like + it). Don't bother to complain(), Sun's compiler omits the semicolon + for "void". */ + if (**pp == ';') + ++(*pp); return init_type (type_bits == 0 ? TYPE_CODE_VOID : TYPE_CODE_INT, type_bits / TARGET_CHAR_BIT, |