Work around gcc9 warning bug

* wrstabs.c (stab_start_class_type): Add assert to work around
	gcc9 warning.  Tidy.
This commit is contained in:
Alan Modra 2019-04-29 09:17:05 +09:30
parent 06ddcada14
commit 8107ddcea1
2 changed files with 14 additions and 13 deletions

View file

@ -1440,18 +1440,15 @@ stab_end_struct_type (void *p)
/* Start outputting a class. */
static bfd_boolean
stab_start_class_type (void *p, const char *tag, unsigned int id, bfd_boolean structp, unsigned int size, bfd_boolean vptr, bfd_boolean ownvptr)
stab_start_class_type (void *p, const char *tag, unsigned int id,
bfd_boolean structp, unsigned int size,
bfd_boolean vptr, bfd_boolean ownvptr)
{
struct stab_write_handle *info = (struct stab_write_handle *) p;
bfd_boolean definition;
char *vstring;
bfd_boolean definition = FALSE;
char *vstring = NULL;
if (! vptr || ownvptr)
{
definition = FALSE;
vstring = NULL;
}
else
if (vptr && !ownvptr)
{
definition = info->type_stack->definition;
vstring = stab_pop_type (info);
@ -1472,17 +1469,16 @@ stab_start_class_type (void *p, const char *tag, unsigned int id, bfd_boolean st
}
else
{
assert (vstring);
vtable = (char *) xmalloc (strlen (vstring) + 3);
sprintf (vtable, "~%%%s", vstring);
free (vstring);
if (definition)
info->type_stack->definition = TRUE;
}
info->type_stack->vtable = vtable;
}
if (definition)
info->type_stack->definition = TRUE;
return TRUE;
}