forked from OSchip/llvm-project
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
This commit is contained in:
parent
e0c933f5d6
commit
aa603c3bef
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue