[DWARFASTParserClang] Complete external record types before using them as a decl...
authorFrederic Riss <friss@apple.com>
Fri, 16 Mar 2018 22:12:22 +0000 (22:12 +0000)
committerFrederic Riss <friss@apple.com>
Fri, 16 Mar 2018 22:12:22 +0000 (22:12 +0000)
commitcce4af160cade64cfd0fdda9fdb320a26d145ca8
tree64287d8be3d91eec6b3743171f94b14fa3154ac8
parentf6766b0e4554a2137fb281ed69f6c91e2fe8e839
[DWARFASTParserClang] Complete external record types before using them as a decl context.

Summary:
When in a gmodules-like debugging scenario, you can have a parent decl context
that gets imported from an external AST. When this happens, we must be careful
to complete this type before adding children to it, otherwise it sometimes
results in a crash.

Reviewers: clayborg, jingham

Subscribers: aprantl, JDevlieghere, lldb-commits

Differential Revision: https://reviews.llvm.org/D43592

llvm-svn: 327750
lldb/packages/Python/lldbsuite/test/lang/cpp/gmodules/TestWithModuleDebugging.py
lldb/packages/Python/lldbsuite/test/lang/cpp/gmodules/main.cpp
lldb/packages/Python/lldbsuite/test/lang/cpp/gmodules/pch.h
lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp