[lldb] Use forward type in pointer-to-member
authorEmre Kultursay <emrekultursay@google.com>
Mon, 26 Apr 2021 13:20:33 +0000 (15:20 +0200)
committerRaphael Isemann <teemperor@gmail.com>
Mon, 26 Apr 2021 13:23:58 +0000 (15:23 +0200)
commite439a463a30833f1c7d366ed722f0f12d1682638
tree13550a1a0c66d22fcca5568bbfccdebf965a8f51
parent18adf4bb0d139b1274c5021d19d8602853827b86
[lldb] Use forward type in pointer-to-member

This change is similar in spirit to the change at:
https://reviews.llvm.org/rG34c697c85e9d0af11a72ac4df5578aac94a627b3

It fixes the problem where the layout of a type was being accessed
while its base classes were not populated yet; which caused an
incorrect layout to be produced and cached.

This fixes PR50054

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D100977
lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
lldb/test/API/functionalities/lazy-loading/TestLazyLoading.py
lldb/test/API/functionalities/lazy-loading/main.cpp
lldb/test/API/lang/cpp/pointer_to_member_type_depending_on_parent_size/Makefile [new file with mode: 0644]
lldb/test/API/lang/cpp/pointer_to_member_type_depending_on_parent_size/TestPointerToMemberTypeDependingOnParentSize.py [new file with mode: 0644]
lldb/test/API/lang/cpp/pointer_to_member_type_depending_on_parent_size/main.cpp [new file with mode: 0644]