Avoid crash in resolve_dynamic_struct
authorTom Tromey <tromey@adacore.com>
Tue, 9 Feb 2021 19:15:39 +0000 (12:15 -0700)
committerTom Tromey <tromey@adacore.com>
Tue, 9 Feb 2021 19:15:39 +0000 (12:15 -0700)
commita4f0544b1ba516db0ab9715e4cccc78bc098ebc9
tree07aec25a2cab2d32c06ce5b78cdba48f8972e30e
parent5f128a25f235195d1970ec07aec57004dfb90237
Avoid crash in resolve_dynamic_struct

resolve_dynamic_struct says:

  gdb_assert (type->num_fields () > 0);

However, a certain Ada program has a structure with no fields but with
a dynamic size, causing this assertion to fire.

It is difficult to be certain, but we think this is a compiler bug.
However, in the meantime this assertion does not seem to be checking
any kind of internal consistency; so this patch removes it.

gdb/ChangeLog
2021-02-09  Tom Tromey  <tromey@adacore.com>

* gdbtypes.c (resolve_dynamic_struct): Handle structure with no
fields.
gdb/ChangeLog
gdb/gdbtypes.c