* stabsread.c (read_sun_builtin_type): Skip the semicolon at the end
authorJim Kingdon <jkingdon@engr.sgi.com>
Thu, 3 Feb 1994 19:28:30 +0000 (19:28 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Thu, 3 Feb 1994 19:28:30 +0000 (19:28 +0000)
of the type if present.

gdb/ChangeLog
gdb/stabsread.c

index dcd68d61a73c3b25fd0fbcd2b90208bfcc94c17c..2dcaab836fb68564224623e57149a6b725ca4e29 100644 (file)
@@ -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
index 0b18d0401f4303e6325f325622afc3a033794388..8a786df723be05dd02e6057697d91e5e7d50a7e0 100644 (file)
@@ -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,