Improve DXIL debug data handling for DIDerivedType's

Add cases for:
DW_TAG_restrict_type
DW_TAG_reference_type

Parse the base type for any non-null base types of unhandled DIDerivedType's
This commit is contained in:
Jake Turner
2025-03-06 11:36:12 +00:00
parent 0028c6535c
commit c67c8fcfd9
@@ -6736,12 +6736,16 @@ const TypeData &Debugger::AddDebugType(const DXIL::Metadata *typeMD)
const DIDerivedType *derivedType = base->As<DIDerivedType>();
switch(derivedType->tag)
{
case DW_TAG_restrict_type:
case DW_TAG_const_type:
case DW_TAG_reference_type:
case DW_TAG_pointer_type:
case DW_TAG_typedef: typeData = AddDebugType(derivedType->base); break;
default:
RDCERR("Unhandled DIDerivedType DIDerivedType Tag type %s",
ToStr(derivedType->tag).c_str());
if(derivedType->base)
typeData = AddDebugType(derivedType->base);
break;
}
break;