From 159ada029b5bea9a8e3f1a67b550e0633f5733bb Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Thu, 3 Feb 1994 19:28:30 +0000 Subject: [PATCH] * stabsread.c (read_sun_builtin_type): Skip the semicolon at the end of the type if present. --- gdb/ChangeLog | 5 +++++ gdb/stabsread.c | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index dcd68d61a73..2dcaab836fb 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 0b18d0401f4..8a786df723b 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, -- 2.30.2