diff options
author | Zachary Turner <zturner@google.com> | 2018-11-09 17:08:26 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2018-11-09 17:08:26 +0000 |
commit | f1cbcafc2d3a748cf03c295097364f1d0e096d68 (patch) | |
tree | bd8533a33b3ccfa548305f0a4920deeb80b02004 /source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp | |
parent | 6a1a18db5b612a4b5c3846b20f899417441269c3 (diff) |
[NativePDB] Fix completion of enum types.
This was originally submitted in a patch which fixed two unrelated
bugs at the same time. This portion of the fix was reverted because
it broke several other things. However, the fix employed originally
was totally wrong, and attempted to change something in the ValueObject
printer when actually the bug was in the NativePDB plugin. We need
to mark forward enum decls as having external storage, otherwise
we won't be asked to complete them when the time comes. This patch
implements the proper fix, and updates tests accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@346517 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp')
-rw-r--r-- | source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp b/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp index f086e4d5b..d92964123 100644 --- a/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp +++ b/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp @@ -913,6 +913,7 @@ lldb::TypeSP SymbolFileNativePDB::CreateTagType(PdbSymUid type_uid, underlying_type->GetFullCompilerType(), er.isScoped()); ClangASTContext::StartTagDeclarationDefinition(enum_ct); + ClangASTContext::SetHasExternalStorage(enum_ct.GetOpaqueQualType(), true); // We're just going to forward resolve this for now. We'll complete // it only if the user requests. |