* stabsread.c (read_type): Skip the colon when reading a

cross-reference.  Only complain, not error_type, on unrecognized
	cross-reference types.  error_type, not dump core, if the colon is
	missing.
This commit is contained in:
Jim Kingdon 1993-11-14 06:40:47 +00:00
parent f50cb1a34d
commit 79cf7e1f33
2 changed files with 23 additions and 3 deletions

View File

@ -1,3 +1,10 @@
Sun Nov 14 00:28:13 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* stabsread.c (read_type): Skip the colon when reading a
cross-reference. Only complain, not error_type, on unrecognized
cross-reference types. error_type, not dump core, if the colon is
missing.
Fri Nov 12 16:23:08 1993 Stu Grossman (grossman at cygnus.com)
* config/m68k/tm-sun3.h: Disable use of alternate breakpoint insn

View File

@ -1321,14 +1321,26 @@ read_type (pp, objfile)
code = TYPE_CODE_ENUM;
break;
default:
return error_type (pp);
{
/* Complain and keep going, so compilers can invent new
cross-reference types. */
static struct complaint msg =
{"Unrecognized cross-reference type `%c'", 0, 0};
complain (&msg, (*pp)[0]);
code = TYPE_CODE_STRUCT;
break;
}
}
p = strchr(*pp, ':');
if (p == NULL)
return error_type (pp);
while (p[1] == ':')
{
p += 2;
p = strchr(p, ':');
if (p == NULL)
return error_type (pp);
}
to = type_name =
(char *)obstack_alloc (&objfile->type_obstack, p - *pp + 1);
@ -1339,8 +1351,9 @@ read_type (pp, objfile)
*to++ = *from++;
*to = '\0';
/* Set the pointer ahead of the name which we just read. */
*pp = from;
/* Set the pointer ahead of the name which we just read, and
the colon. */
*pp = from + 1;
}
/* Now check to see whether the type has already been declared. */