diff options
| author | Douglas Gregor <dgregor@apple.com> | 2008-12-08 18:40:42 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2008-12-08 18:40:42 +0000 |
| commit | 5daeee2bd66be84eaf764fb789afcb5bf63068bd (patch) | |
| tree | 34ed89ebffaf1f6c4e5abb0a3a3c9dd370e88e44 /clang/lib | |
| parent | f90d3b096a50a5551f8df7fda5572631db90dc87 (diff) | |
| download | bcm5719-llvm-5daeee2bd66be84eaf764fb789afcb5bf63068bd.tar.gz bcm5719-llvm-5daeee2bd66be84eaf764fb789afcb5bf63068bd.zip | |
Move Sema::isTemplateParameterDecl to Decl::isTemplateParameter, where it belongs
llvm-svn: 60708
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Sema/Sema.h | 1 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 10 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaDeclObjC.cpp | 4 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaTemplate.cpp | 12 |
4 files changed, 10 insertions, 17 deletions
diff --git a/clang/lib/Sema/Sema.h b/clang/lib/Sema/Sema.h index ef99aaaa46c..4a8f83084dd 100644 --- a/clang/lib/Sema/Sema.h +++ b/clang/lib/Sema/Sema.h @@ -995,7 +995,6 @@ public: //===--------------------------------------------------------------------===// // C++ Templates [C++ 14] // - bool isTemplateParameterDecl(Decl *D); bool DiagnoseTemplateParameterShadow(SourceLocation Loc, Decl *PrevDecl); virtual DeclTy *ActOnTypeParameter(Scope *S, bool Typename, SourceLocation KeyLoc, diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index b6b1f4c4465..41587c5aee6 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -868,7 +868,7 @@ Sema::ActOnDeclarator(Scope *S, Declarator &D, DeclTy *lastDecl) { } } - if (PrevDecl && isTemplateParameterDecl(PrevDecl)) { + if (PrevDecl && PrevDecl->isTemplateParameter()) { // Maybe we will complain about the shadowed template parameter. InvalidDecl = InvalidDecl || DiagnoseTemplateParameterShadow(D.getIdentifierLoc(), PrevDecl); @@ -2035,7 +2035,7 @@ Sema::ActOnParamDeclarator(Scope *S, Declarator &D) { // among each other. Here they can only shadow globals, which is ok. IdentifierInfo *II = D.getIdentifier(); if (Decl *PrevDecl = LookupDecl(II, Decl::IDNS_Ordinary, S)) { - if (isTemplateParameterDecl(PrevDecl)) { + if (PrevDecl->isTemplateParameter()) { // Maybe we will complain about the shadowed template parameter. DiagnoseTemplateParameterShadow(D.getIdentifierLoc(), PrevDecl); // Just pretend that we didn't see the previous declaration. @@ -2299,7 +2299,7 @@ Sema::DeclTy *Sema::ActOnTag(Scope *S, unsigned TagType, TagKind TK, PrevDecl = dyn_cast_or_null<ScopedDecl>(LookupDecl(Name, Decl::IDNS_Tag,S)); } - if (PrevDecl && isTemplateParameterDecl(PrevDecl)) { + if (PrevDecl && PrevDecl->isTemplateParameter()) { // Maybe we will complain about the shadowed template parameter. DiagnoseTemplateParameterShadow(NameLoc, PrevDecl); // Just pretend that we didn't see the previous declaration. @@ -2442,7 +2442,7 @@ Sema::DeclTy *Sema::ActOnTagStruct(Scope *S, TagDecl::TagKind Kind, TagKind TK, PrevDecl = dyn_cast_or_null<ScopedDecl>(LookupDecl(Name, Decl::IDNS_Tag,S)); } - if (PrevDecl && isTemplateParameterDecl(PrevDecl)) { + if (PrevDecl && PrevDecl->isTemplateParameter()) { // Maybe we will complain about the shadowed template parameter. DiagnoseTemplateParameterShadow(NameLoc, PrevDecl); // Just pretend that we didn't see the previous declaration. @@ -2959,7 +2959,7 @@ Sema::DeclTy *Sema::ActOnEnumConstant(Scope *S, DeclTy *theEnumDecl, // Verify that there isn't already something declared with this name in this // scope. Decl *PrevDecl = LookupDecl(Id, Decl::IDNS_Ordinary, S); - if (PrevDecl && isTemplateParameterDecl(PrevDecl)) { + if (PrevDecl && PrevDecl->isTemplateParameter()) { // Maybe we will complain about the shadowed template parameter. DiagnoseTemplateParameterShadow(IdLoc, PrevDecl); // Just pretend that we didn't see the previous declaration. diff --git a/clang/lib/Sema/SemaDeclObjC.cpp b/clang/lib/Sema/SemaDeclObjC.cpp index d7b71211d49..7a93b453f07 100644 --- a/clang/lib/Sema/SemaDeclObjC.cpp +++ b/clang/lib/Sema/SemaDeclObjC.cpp @@ -66,7 +66,7 @@ ActOnStartClassInterface(SourceLocation AtInterfaceLoc, // Check for another declaration kind with the same name. Decl *PrevDecl = LookupDecl(ClassName, Decl::IDNS_Ordinary, TUScope); - if (PrevDecl && isTemplateParameterDecl(PrevDecl)) { + if (PrevDecl && PrevDecl->isTemplateParameter()) { // Maybe we will complain about the shadowed template parameter. DiagnoseTemplateParameterShadow(ClassLoc, PrevDecl); // Just pretend that we didn't see the previous declaration. @@ -826,7 +826,7 @@ Sema::ActOnForwardClassDeclaration(SourceLocation AtClassLoc, for (unsigned i = 0; i != NumElts; ++i) { // Check for another declaration kind with the same name. Decl *PrevDecl = LookupDecl(IdentList[i], Decl::IDNS_Ordinary, TUScope); - if (PrevDecl && isTemplateParameterDecl(PrevDecl)) { + if (PrevDecl && PrevDecl->isTemplateParameter()) { // Maybe we will complain about the shadowed template parameter. DiagnoseTemplateParameterShadow(AtClassLoc, PrevDecl); // Just pretend that we didn't see the previous declaration. diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp index 092c9d2236a..2dcb9fe3361 100644 --- a/clang/lib/Sema/SemaTemplate.cpp +++ b/clang/lib/Sema/SemaTemplate.cpp @@ -18,18 +18,12 @@ using namespace clang; -/// isTemplateParameterDecl - Determines whether the given declaration -/// 'D' names a template parameter. -bool Sema::isTemplateParameterDecl(Decl *D) { - return isa<TemplateTypeParmDecl>(D) || isa<NonTypeTemplateParmDecl>(D); -} - /// DiagnoseTemplateParameterShadow - Produce a diagnostic complaining /// that the template parameter 'PrevDecl' is being shadowed by a new /// declaration at location Loc. Returns true to indicate that this is /// an error, and false otherwise. bool Sema::DiagnoseTemplateParameterShadow(SourceLocation Loc, Decl *PrevDecl) { - assert(isTemplateParameterDecl(PrevDecl) && "Not a template parameter"); + assert(PrevDecl->isTemplateParameter() && "Not a template parameter"); // Microsoft Visual C++ permits template parameters to be shadowed. if (getLangOptions().Microsoft) @@ -63,7 +57,7 @@ Sema::DeclTy *Sema::ActOnTypeParameter(Scope *S, bool Typename, if (ParamName) { Decl *PrevDecl = LookupDecl(ParamName, Decl::IDNS_Tag, S); - if (PrevDecl && isTemplateParameterDecl(PrevDecl)) + if (PrevDecl && PrevDecl->isTemplateParameter()) Invalid = Invalid || DiagnoseTemplateParameterShadow(ParamNameLoc, PrevDecl); } @@ -97,7 +91,7 @@ Sema::DeclTy *Sema::ActOnNonTypeTemplateParameter(Scope *S, Declarator &D) { IdentifierInfo *ParamName = D.getIdentifier(); if (ParamName) { Decl *PrevDecl = LookupDecl(ParamName, Decl::IDNS_Tag, S); - if (PrevDecl && isTemplateParameterDecl(PrevDecl)) + if (PrevDecl && PrevDecl->isTemplateParameter()) Invalid = Invalid || DiagnoseTemplateParameterShadow(D.getIdentifierLoc(), PrevDecl); } |

