summaryrefslogtreecommitdiff
path: root/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2018-11-09 17:08:26 +0000
committerZachary Turner <zturner@google.com>2018-11-09 17:08:26 +0000
commitf1cbcafc2d3a748cf03c295097364f1d0e096d68 (patch)
treebd8533a33b3ccfa548305f0a4920deeb80b02004 /source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
parent6a1a18db5b612a4b5c3846b20f899417441269c3 (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.cpp1
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.