Author: faisalv Date: Fri Aug 25 11:24:20 2017 New Revision: 311788 URL: http://llvm.org/viewvc/llvm-project?rev=311788&view=rev Log: [NFC] Remove a cstyle cast and replace some uses of Decl with NamedDecl during the processing of TemplateParameterLists.
Modified: cfe/trunk/include/clang/Parse/Parser.h cfe/trunk/include/clang/Sema/Sema.h cfe/trunk/lib/Parse/ParseTemplate.cpp cfe/trunk/lib/Sema/SemaTemplate.cpp Modified: cfe/trunk/include/clang/Parse/Parser.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Parse/Parser.h?rev=311788&r1=311787&r2=311788&view=diff ============================================================================== --- cfe/trunk/include/clang/Parse/Parser.h (original) +++ cfe/trunk/include/clang/Parse/Parser.h Fri Aug 25 11:24:20 2017 @@ -2724,11 +2724,11 @@ private: AccessSpecifier AS=AS_none, AttributeList *AccessAttrs = nullptr); bool ParseTemplateParameters(unsigned Depth, - SmallVectorImpl<Decl*> &TemplateParams, + SmallVectorImpl<NamedDecl *> &TemplateParams, SourceLocation &LAngleLoc, SourceLocation &RAngleLoc); bool ParseTemplateParameterList(unsigned Depth, - SmallVectorImpl<Decl*> &TemplateParams); + SmallVectorImpl<NamedDecl*> &TemplateParams); bool isStartOfTemplateTypeParameter(); Decl *ParseTemplateParameter(unsigned Depth, unsigned Position); Decl *ParseTypeParameter(unsigned Depth, unsigned Position); Modified: cfe/trunk/include/clang/Sema/Sema.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Sema.h?rev=311788&r1=311787&r2=311788&view=diff ============================================================================== --- cfe/trunk/include/clang/Sema/Sema.h (original) +++ cfe/trunk/include/clang/Sema/Sema.h Fri Aug 25 11:24:20 2017 @@ -6052,7 +6052,7 @@ public: SourceLocation ExportLoc, SourceLocation TemplateLoc, SourceLocation LAngleLoc, - ArrayRef<Decl *> Params, + ArrayRef<NamedDecl *> Params, SourceLocation RAngleLoc, Expr *RequiresClause); Modified: cfe/trunk/lib/Parse/ParseTemplate.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseTemplate.cpp?rev=311788&r1=311787&r2=311788&view=diff ============================================================================== --- cfe/trunk/lib/Parse/ParseTemplate.cpp (original) +++ cfe/trunk/lib/Parse/ParseTemplate.cpp Fri Aug 25 11:24:20 2017 @@ -112,7 +112,7 @@ Parser::ParseTemplateDeclarationOrSpecia // Parse the '<' template-parameter-list '>' SourceLocation LAngleLoc, RAngleLoc; - SmallVector<Decl*, 4> TemplateParams; + SmallVector<NamedDecl*, 4> TemplateParams; if (ParseTemplateParameters(CurTemplateDepthTracker.getDepth(), TemplateParams, LAngleLoc, RAngleLoc)) { // Skip until the semi-colon or a '}'. @@ -329,10 +329,9 @@ Parser::ParseSingleDeclarationAfterTempl /// that enclose this template parameter list. /// /// \returns true if an error occurred, false otherwise. -bool Parser::ParseTemplateParameters(unsigned Depth, - SmallVectorImpl<Decl*> &TemplateParams, - SourceLocation &LAngleLoc, - SourceLocation &RAngleLoc) { +bool Parser::ParseTemplateParameters( + unsigned Depth, SmallVectorImpl<NamedDecl *> &TemplateParams, + SourceLocation &LAngleLoc, SourceLocation &RAngleLoc) { // Get the template parameter list. if (!TryConsumeToken(tok::less, LAngleLoc)) { Diag(Tok.getLocation(), diag::err_expected_less_after) << "template"; @@ -370,11 +369,12 @@ bool Parser::ParseTemplateParameters(uns /// template-parameter-list ',' template-parameter bool Parser::ParseTemplateParameterList(unsigned Depth, - SmallVectorImpl<Decl*> &TemplateParams) { + SmallVectorImpl<NamedDecl*> &TemplateParams) { while (1) { + // FIXME: ParseTemplateParameter should probably just return a NamedDecl. if (Decl *TmpParam = ParseTemplateParameter(Depth, TemplateParams.size())) { - TemplateParams.push_back(TmpParam); + TemplateParams.push_back(dyn_cast<NamedDecl>(TmpParam)); } else { // If we failed to parse a template parameter, skip until we find // a comma or closing brace. @@ -569,7 +569,7 @@ Parser::ParseTemplateTemplateParameter(u // Handle the template <...> part. SourceLocation TemplateLoc = ConsumeToken(); - SmallVector<Decl*,8> TemplateParams; + SmallVector<NamedDecl*,8> TemplateParams; SourceLocation LAngleLoc, RAngleLoc; { ParseScope TemplateParmScope(this, Scope::TemplateParamScope); Modified: cfe/trunk/lib/Sema/SemaTemplate.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplate.cpp?rev=311788&r1=311787&r2=311788&view=diff ============================================================================== --- cfe/trunk/lib/Sema/SemaTemplate.cpp (original) +++ cfe/trunk/lib/Sema/SemaTemplate.cpp Fri Aug 25 11:24:20 2017 @@ -1080,7 +1080,7 @@ Sema::ActOnTemplateParameterList(unsigne SourceLocation ExportLoc, SourceLocation TemplateLoc, SourceLocation LAngleLoc, - ArrayRef<Decl *> Params, + ArrayRef<NamedDecl *> Params, SourceLocation RAngleLoc, Expr *RequiresClause) { if (ExportLoc.isValid()) @@ -1088,7 +1088,7 @@ Sema::ActOnTemplateParameterList(unsigne return TemplateParameterList::Create( Context, TemplateLoc, LAngleLoc, - llvm::makeArrayRef((NamedDecl *const *)Params.data(), Params.size()), + llvm::makeArrayRef(Params.data(), Params.size()), RAngleLoc, RequiresClause); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits