summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Verbruggen <erikjv@me.com>2017-08-22 10:54:40 +0000
committerErik Verbruggen <erikjv@me.com>2017-08-22 10:54:40 +0000
commitaa603c3bef06a5779619d2e3138c46e3037f0d67 (patch)
tree3421397bc0e60c218439f384cd49160926b7193f
parente0c933f5d6f76e8b9312a20af2362ca7e64b570d (diff)
downloadbcm5719-llvm-aa603c3bef06a5779619d2e3138c46e3037f0d67.tar.gz
bcm5719-llvm-aa603c3bef06a5779619d2e3138c46e3037f0d67.zip
Revert r311442 (Fix templated type alias completion when using global completion cache)
Failing Tests (2): Clang :: CXX/dcl.dcl/dcl.spec/dcl.type/p3-0x.cpp Clang :: SemaCXX/alias-template.cpp llvm-svn: 311445
-rw-r--r--clang/lib/Frontend/ASTUnit.cpp3
-rw-r--r--clang/lib/Parse/ParseTemplate.cpp12
-rw-r--r--clang/test/Index/code-completion.cpp12
3 files changed, 6 insertions, 21 deletions
diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp
index a4a1a5f3b00..07f847ca944 100644
--- a/clang/lib/Frontend/ASTUnit.cpp
+++ b/clang/lib/Frontend/ASTUnit.cpp
@@ -243,8 +243,7 @@ static unsigned getDeclShowContexts(const NamedDecl *ND,
uint64_t Contexts = 0;
if (isa<TypeDecl>(ND) || isa<ObjCInterfaceDecl>(ND) ||
- isa<ClassTemplateDecl>(ND) || isa<TemplateTemplateParmDecl>(ND) ||
- isa<TypeAliasTemplateDecl>(ND)) {
+ isa<ClassTemplateDecl>(ND) || isa<TemplateTemplateParmDecl>(ND)) {
// Types can appear in these contexts.
if (LangOpts.CPlusPlus || !isa<TagDecl>(ND))
Contexts |= (1LL << CodeCompletionContext::CCC_TopLevel)
diff --git a/clang/lib/Parse/ParseTemplate.cpp b/clang/lib/Parse/ParseTemplate.cpp
index de54f572d82..fc1722ea6cd 100644
--- a/clang/lib/Parse/ParseTemplate.cpp
+++ b/clang/lib/Parse/ParseTemplate.cpp
@@ -198,11 +198,9 @@ Parser::ParseSingleDeclarationAfterTemplate(
if (Tok.is(tok::kw_using)) {
// FIXME: We should return the DeclGroup to the caller.
- auto usingDeclPtr = ParseUsingDirectiveOrDeclaration(Context, TemplateInfo, DeclEnd,
- prefixAttrs);
- if (!usingDeclPtr)
- return nullptr;
- return usingDeclPtr.get().getSingleDecl();
+ ParseUsingDirectiveOrDeclaration(Context, TemplateInfo, DeclEnd,
+ prefixAttrs);
+ return nullptr;
}
// Parse the declaration specifiers, stealing any diagnostics from
@@ -1025,8 +1023,8 @@ bool Parser::AnnotateTemplateIdToken(TemplateTy Template, TemplateNameKind TNK,
? OO_None
: TemplateName.OperatorFunctionId.Operator;
- TemplateIdAnnotation *TemplateId = TemplateIdAnnotation::Create(
- SS, TemplateKWLoc, TemplateNameLoc, TemplateII, OpKind, Template, TNK,
+ TemplateIdAnnotation *TemplateId = TemplateIdAnnotation::Create(
+ SS, TemplateKWLoc, TemplateNameLoc, TemplateII, OpKind, Template, TNK,
LAngleLoc, RAngleLoc, TemplateArgs, TemplateIds);
Tok.setAnnotationValue(TemplateId);
diff --git a/clang/test/Index/code-completion.cpp b/clang/test/Index/code-completion.cpp
index 00f158f3d09..f52bb10a35b 100644
--- a/clang/test/Index/code-completion.cpp
+++ b/clang/test/Index/code-completion.cpp
@@ -37,16 +37,6 @@ Z::operator int() const {
return 0;
}
-template <typename T>
-struct Foo { T member; };
-
-template<typename T> using Bar = Foo<T>;
-
-void test_template_alias() {
- // RUN: env CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:47:1 %s | FileCheck -check-prefix=CHECK-TEMPLATE-ALIAS %s
-
-}
-
// CHECK-MEMBER: FieldDecl:{ResultType double}{TypedText member}
// CHECK-MEMBER: FieldDecl:{ResultType int}{Text X::}{TypedText member}
// CHECK-MEMBER: FieldDecl:{ResultType float}{Text Y::}{TypedText member}
@@ -98,5 +88,3 @@ void test_template_alias() {
// CHECK-EXPR-NEXT: Class name
// CHECK-EXPR-NEXT: Nested name specifier
// CHECK-EXPR-NEXT: Objective-C interface
-
-// CHECK-TEMPLATE-ALIAS: AliasTemplateDecl:{TypedText Bar}{LeftAngle <}{Placeholder typename T}{RightAngle >} (50)
OpenPOWER on IntegriCloud