diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c index f0eabaf90b1..1f8d4a7bc1c 100644 --- a/dlls/dbghelp/dwarf.c +++ b/dlls/dbghelp/dwarf.c @@ -1317,9 +1317,13 @@ static struct symt* dwarf2_parse_volatile_type(dwarf2_parse_context_t* ctx, if (di->symt) return di->symt; - TRACE("%s, for %s\n", dwarf2_debug_ctx(ctx), dwarf2_debug_di(di)); + TRACE("%s, for %s\n", dwarf2_debug_ctx(ctx), dwarf2_debug_di(di)); - ref_type = dwarf2_lookup_type(ctx, di); + if (!(ref_type = dwarf2_lookup_type(ctx, di))) + { + ref_type = ctx->symt_cache[sc_void]; + assert(ref_type); + } if (dwarf2_get_di_children(ctx, di)) FIXME("Unsupported children\n"); di->symt = ref_type;