diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-07-23 16:36:45 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-07-23 16:36:45 +0000 |
commit | bd1099efde211cbb63fce3feee4ebcc6bac58781 (patch) | |
tree | 4c413da2b13e495a1991ea5c885fa12f2360c488 /lib/Sema | |
parent | f6c4bc0bd23776acb6f2c34414cf389f8d5042d4 (diff) |
Clean up the ActOnTag action, so that there is only a single entry
point that covers templates and non-templates. This should eliminate
the flood of warnings I introduced yesterday.
Removed the ActOnClassTemplate action, which is no longer used.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76881 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema')
-rw-r--r-- | lib/Sema/Sema.h | 13 | ||||
-rw-r--r-- | lib/Sema/SemaDecl.cpp | 2 | ||||
-rw-r--r-- | lib/Sema/SemaTemplate.cpp | 4 |
3 files changed, 9 insertions, 10 deletions
diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h index 9f3eff9f1d..d66e642af3 100644 --- a/lib/Sema/Sema.h +++ b/lib/Sema/Sema.h @@ -2084,13 +2084,12 @@ public: TemplateParameterList **ParamLists, unsigned NumParamLists); - virtual DeclResult - ActOnClassTemplate(Scope *S, unsigned TagSpec, TagKind TK, - SourceLocation KWLoc, const CXXScopeSpec &SS, - IdentifierInfo *Name, SourceLocation NameLoc, - AttributeList *Attr, - MultiTemplateParamsArg TemplateParameterLists, - AccessSpecifier AS); + DeclResult CheckClassTemplate(Scope *S, unsigned TagSpec, TagKind TK, + SourceLocation KWLoc, const CXXScopeSpec &SS, + IdentifierInfo *Name, SourceLocation NameLoc, + AttributeList *Attr, + MultiTemplateParamsArg TemplateParameterLists, + AccessSpecifier AS); QualType CheckTemplateIdType(TemplateName Template, SourceLocation TemplateLoc, diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index 760a95f9d0..e38047cf4b 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -3665,7 +3665,7 @@ Sema::DeclPtrTy Sema::ActOnTag(Scope *S, unsigned TagSpec, TagKind TK, // This is a declaration or definition of a class template (which may // be a member of another template). OwnedDecl = false; - DeclResult Result = ActOnClassTemplate(S, TagSpec, TK, KWLoc, + DeclResult Result = CheckClassTemplate(S, TagSpec, TK, KWLoc, SS, Name, NameLoc, Attr, move(TemplateParameterLists), AS); diff --git a/lib/Sema/SemaTemplate.cpp b/lib/Sema/SemaTemplate.cpp index 981b8508c5..9ab6164c48 100644 --- a/lib/Sema/SemaTemplate.cpp +++ b/lib/Sema/SemaTemplate.cpp @@ -409,7 +409,7 @@ Sema::ActOnTemplateParameterList(unsigned Depth, } Sema::DeclResult -Sema::ActOnClassTemplate(Scope *S, unsigned TagSpec, TagKind TK, +Sema::CheckClassTemplate(Scope *S, unsigned TagSpec, TagKind TK, SourceLocation KWLoc, const CXXScopeSpec &SS, IdentifierInfo *Name, SourceLocation NameLoc, AttributeList *Attr, @@ -2491,7 +2491,7 @@ Sema::ActOnClassTemplateSpecialization(Scope *S, unsigned TagSpec, TagKind TK, << (TK == TK_Definition) << CodeModificationHint::CreateRemoval(SourceRange(LAngleLoc, RAngleLoc)); - return ActOnClassTemplate(S, TagSpec, TK, KWLoc, SS, + return CheckClassTemplate(S, TagSpec, TK, KWLoc, SS, ClassTemplate->getIdentifier(), TemplateNameLoc, Attr, |