This path implements missing case in PdbAstBuilder::CreateType for LF_MFUNCTION. This is necessary, for example, in stack unwinding of struct methods.
Details
Diff Detail
- Repository
- rLLDB LLDB
Event Timeline
Please add some detail to the commit message and consider re-titling it. It looks like this patch is actually adding missing functionality rather than "fixing" a bug in how structs are handled. If that's correct, then please make the commit message reflect that.
Sorry I didn't get a chance to finish reviewing this today, but I'll try to get it done tomorrow.
Thanks for the improved commit message. Again, sorry about the delay.
lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h | ||
---|---|---|
183 | Suggestion: Consider CreateMemberFunctionType or CreateMethodType to avoid confusion with CreateProcedureType. |
Looks like this is failing on the windows bot http://lab.llvm.org:8011/builders/lldb-x64-windows-ninja/builds/4635/steps/test/logs/stdio.
Looking at the test, it seems that you are asserting that you will unwind into a particular offset in ntdll.dll. That sounds like an incredibly fragile assertion, which will only be true for people running the exact same version of ntdll that you happen to have...
My bad, these assertions (ntdll and kernel32) should be removed from test. I already asked @aleksandr.urakov to do it.
Suggestion: Consider CreateMemberFunctionType or CreateMethodType to avoid confusion with CreateProcedureType.