bryan@UUNET.UU.NET (Bryan Boreham) (07/20/89)
I think this is a valid fix for gdb: *** dbxread.c~ Tue Jul 11 03:38:46 1989 --- dbxread.c Wed Jul 19 16:16:42 1989 *************** *** 4254,4259 **** --- 4254,4263 ---- The `?' is a placeholder for one of '+' (public visibility), '0' (protected visibility), and '-' (private visibility). */ + /* Change by Bryan Boreham, Kewill, Wed Jul 19 15:02:04 1989. + We better set p right now, in case there are no fields at all... */ + p = *pp; + while (**pp != ';') { int visibility; I'm sorry, but I don't have a example small enough to post that demonstrates the core-dump. The problem occurred whilst using C++ 1.35.1-. Basically, if there are no data fields in a struct, then in function read_struct_type, **pp will be ';' the first time we get to line 4257, so the loop will be skipped, leading to line 4344, that reads "if (p[1] == ':')", and p has not been initialised. My fix cures the core-dump, but I don't know enough about gdb or dbx format to tell if it will break something else. Bryan Boreham bryan@kewill.uucp Software Engineer || bryan%kewill@uunet.uu.net Kewill Systems PLC || ... uunet!mcvax!ukc!root44!kewill!bryan Walton-On-Thames Surrey, England Telephone: (+44) 932 248 328