* stabsread.c (read_type): If we find any type numbers that are

forward references, complain if the references aren't resolved by
the time we're finished reading.
(cleanup_undefined_types): Make error message more appropriate for
a complaint.
This commit is contained in:
Jim Blandy 2004-02-18 01:09:03 +00:00
parent 9d62932daa
commit 8cfe231d8f
2 changed files with 24 additions and 5 deletions

View File

@ -1,3 +1,11 @@
2004-02-17 Jim Blandy <jimb@redhat.com>
* stabsread.c (read_type): If we find any type numbers that are
forward references, complain if the references aren't resolved by
the time we're finished reading.
(cleanup_undefined_types): Make error message more appropriate for
a complaint.
2004-02-17 Elena Zannoni <ezannoni@redhat.com>
* Makefile.in (defs_h): Remove dependency on progress_h.

View File

@ -1446,11 +1446,21 @@ read_type (char **pp, struct objfile *objfile)
if (read_type_number (pp, typenums) != 0)
return error_type (pp, objfile);
/* Type is not being defined here. Either it already exists,
or this is a forward reference to it. dbx_alloc_type handles
both cases. */
if (**pp != '=')
return dbx_alloc_type (typenums, objfile);
{
/* Type is not being defined here. Either it already
exists, or this is a forward reference to it.
dbx_alloc_type handles both cases. */
type = dbx_alloc_type (typenums, objfile);
/* If this is a forward reference, arrange to complain if it
doesn't get patched up by the time we're done
reading. */
if (TYPE_CODE (type) == TYPE_CODE_UNDEF)
add_undefined_type (type);
return type;
}
/* Type is being defined here. */
/* Skip the '='.
@ -4197,7 +4207,8 @@ cleanup_undefined_types (void)
default:
{
complaint (&symfile_complaints,
"GDB internal error. cleanup_undefined_types with bad type %d.",
"forward-referenced types left unresolved, "
"type code %d.",
TYPE_CODE (*type));
}
break;