diff --git a/dlls/dbghelp/msc.c b/dlls/dbghelp/msc.c index e32c4630680..7a68e1d1ff7 100644 --- a/dlls/dbghelp/msc.c +++ b/dlls/dbghelp/msc.c @@ -935,6 +935,18 @@ static int codeview_add_type_struct_field_list(struct codeview_type_parse* ctp, } break; + case LF_INDEX_V1: + if (!codeview_add_type_struct_field_list(ctp, symt, type->index_v1.ref)) + return FALSE; + ptr += 2 + 2; + break; + + case LF_INDEX_V2: + if (!codeview_add_type_struct_field_list(ctp, symt, type->index_v2.ref)) + return FALSE; + ptr += 2 + 2 + 4; + break; + default: FIXME("Unsupported type %04x in STRUCT field list\n", type->generic.id); return FALSE; diff --git a/include/wine/mscvpdb.h b/include/wine/mscvpdb.h index 4755c5a8638..23b7a3afedf 100644 --- a/include/wine/mscvpdb.h +++ b/include/wine/mscvpdb.h @@ -723,6 +723,18 @@ union codeview_fieldtype struct p_string p_name; } membermodify_v2; + struct + { + short int id; + short int ref; + } index_v1; + + struct + { + short int id; + short int unk; + unsigned int ref; + } index_v2; };