diff options
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp')
| -rw-r--r-- | lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp b/lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp index c99ace01517..72ed3a7329e 100644 --- a/lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp +++ b/lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp @@ -733,7 +733,11 @@ size_t lldb_private::npdb::GetSizeOfType(PdbTypeSymId id, return 0; } - CVType cvt = tpi.getType(id.index); + TypeIndex index = id.index; + if (IsForwardRefUdt(index, tpi)) + index = llvm::cantFail(tpi.findFullDeclForForwardRef(index)); + + CVType cvt = tpi.getType(index); switch (cvt.kind()) { case LF_MODIFIER: return GetSizeOfType({LookThroughModifierRecord(cvt)}, tpi); |

