aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/ASTUnit.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erikjv@me.com>2017-08-22 10:25:48 +0000
committerErik Verbruggen <erikjv@me.com>2017-08-22 10:25:48 +0000
commit1ca8bbb078bd5920d6ca154c05ab2dcbf53a7a8a (patch)
tree8a69ecb0227267f2536683c1453cc1fb1e84204b /clang/lib/Frontend/ASTUnit.cpp
parentcb5155bf6d6702f420a696ea87c86a590d28b84a (diff)
downloadllvm-1ca8bbb078bd5920d6ca154c05ab2dcbf53a7a8a.zip
llvm-1ca8bbb078bd5920d6ca154c05ab2dcbf53a7a8a.tar.gz
llvm-1ca8bbb078bd5920d6ca154c05ab2dcbf53a7a8a.tar.bz2
Fix templated type alias completion when using global completion cache
When we have enabled cache for global completions we did not have diagnostics for Bar and could not complete Ba as in provided code example. template <typename T> struct Foo { T member; }; template<typename T> using Bar = Foo<T>; int main() { Ba } Patch by Ivan Donchevskii! Differential Revision: https://reviews.llvm.org/D35355 llvm-svn: 311442
Diffstat (limited to 'clang/lib/Frontend/ASTUnit.cpp')
-rw-r--r--clang/lib/Frontend/ASTUnit.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp
index 07f847c..a4a1a5f 100644
--- a/clang/lib/Frontend/ASTUnit.cpp
+++ b/clang/lib/Frontend/ASTUnit.cpp
@@ -243,7 +243,8 @@ static unsigned getDeclShowContexts(const NamedDecl *ND,
uint64_t Contexts = 0;
if (isa<TypeDecl>(ND) || isa<ObjCInterfaceDecl>(ND) ||
- isa<ClassTemplateDecl>(ND) || isa<TemplateTemplateParmDecl>(ND)) {
+ isa<ClassTemplateDecl>(ND) || isa<TemplateTemplateParmDecl>(ND) ||
+ isa<TypeAliasTemplateDecl>(ND)) {
// Types can appear in these contexts.
if (LangOpts.CPlusPlus || !isa<TagDecl>(ND))
Contexts |= (1LL << CodeCompletionContext::CCC_TopLevel)