Empty structs result in empty LF_FIELDLIST types, which are valid, but
we weren't accounting for this and assuming they had to contain
subtypes.
gcc/
* dwarf2codeview.cc (get_type_num_struct): Fix NULL pointer dereference.
---
gcc/dwarf2codeview.cc | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/gcc/dwarf2codeview.cc b/gcc/dwarf2codeview.cc
index b16c6960f63..470cbae7110 100644
--- a/gcc/dwarf2codeview.cc
+++ b/gcc/dwarf2codeview.cc
@@ -2858,8 +2858,11 @@ get_type_num_struct (dw_die_ref type, bool in_struct,
bool *is_fwd_ref)
ct2 = ct->next;
ct->next = NULL;
- if (ct->lf_fieldlist.last_subtype->kind == LF_INDEX)
- ct->lf_fieldlist.last_subtype->lf_index.type_num = last_type;
+ if (ct->lf_fieldlist.last_subtype
+ && ct->lf_fieldlist.last_subtype->kind == LF_INDEX)
+ {
+ ct->lf_fieldlist.last_subtype->lf_index.type_num = last_type;
+ }
add_custom_type (ct);
last_type = ct->num;
--
2.44.2