[Lldb-commits] [PATCH] D51162: [PDB] Restore AST from PDB symbols
Aleksandr Urakov via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Sep 11 05:37:10 PDT 2018
aleksandr.urakov added a comment.
In https://reviews.llvm.org/D51162#1229112, @stella.stamenova wrote:
> This change is causing three of the symbol file PDB tests to fail:
>
> lldb-Unit :: SymbolFile/PDB/release/SymbolFilePDBTests.exe/SymbolFilePDBTests.TestClassInNamespace
> lldb-Unit :: SymbolFile/PDB/release/SymbolFilePDBTests.exe/SymbolFilePDBTests.TestNestedClassTypes
> lldb-Unit :: SymbolFile/PDB/release/SymbolFilePDBTests.exe/SymbolFilePDBTests.TestSimpleClassTypes
>
>
> For example:
>
>
The interesting moment here is that the `test-pdb-types.pdb` contains some strange symbols not belonging to the source. For example:
class Class [sizeof = 1] {
data +0x00 [sizeof=1] bool b
}
class NS::NSClass [sizeof = 16] {
data +0x00 [sizeof=4] float f
<padding> (4 bytes)
data +0x08 [sizeof=8] double d
}
Total padding 4 bytes (25% of class size)
Immediate padding 4 bytes (25% of class size)
class Class::NestedClass [sizeof = 4] {
data +0x00 [sizeof=4] float f
}
class Class [sizeof = 2] {
data +0x00 [sizeof=2] ShortEnum se
}
class Class::NestedClass [sizeof = 4] {
data +0x00 [sizeof=4] Enum e
}
But there's no `Class` with `bool b` and there's no `Class::NestedClass` with `float f`. So it seems that the test passed before occasionally. I will regenerate this PDB as well.
What do you think about this symbols? Could they appear after changes due to incremental builds?
Repository:
rL LLVM
https://reviews.llvm.org/D51162
More information about the lldb-commits
mailing list