diff options
author | John McCall <rjmccall@apple.com> | 2016-03-01 02:09:25 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2016-03-01 02:09:25 +0000 |
commit | c8e321d4bc6862f4939ed5200b5d4cbb9fb41a90 (patch) | |
tree | 8bdccc67a7c4cfce0c74bf0dee7e8ff064b9cbac /clang/lib/Sema/SemaTemplateInstantiate.cpp | |
parent | 5d7cf778e491db4b5fff2bebfec0a1ed24362d43 (diff) | |
download | bcm5719-llvm-c8e321d4bc6862f4939ed5200b5d4cbb9fb41a90.tar.gz bcm5719-llvm-c8e321d4bc6862f4939ed5200b5d4cbb9fb41a90.zip |
Fix the template instantiation of ExtParameterInfos; tests to follow.
llvm-svn: 262289
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiate.cpp')
-rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiate.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiate.cpp b/clang/lib/Sema/SemaTemplateInstantiate.cpp index db3f47fd916..610817fcafd 100644 --- a/clang/lib/Sema/SemaTemplateInstantiate.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiate.cpp @@ -1710,9 +1710,11 @@ ParmVarDecl *Sema::SubstParmVarDecl(ParmVarDecl *OldParm, /// from such a substitution. bool Sema::SubstParmTypes(SourceLocation Loc, ParmVarDecl **Params, unsigned NumParams, + const FunctionProtoType::ExtParameterInfo *ExtParamInfos, const MultiLevelTemplateArgumentList &TemplateArgs, SmallVectorImpl<QualType> &ParamTypes, - SmallVectorImpl<ParmVarDecl *> *OutParams) { + SmallVectorImpl<ParmVarDecl *> *OutParams, + ExtParameterInfoBuilder &ParamInfos) { assert(!ActiveTemplateInstantiations.empty() && "Cannot perform an instantiation without some context on the " "instantiation stack"); @@ -1720,8 +1722,9 @@ bool Sema::SubstParmTypes(SourceLocation Loc, TemplateInstantiator Instantiator(*this, TemplateArgs, Loc, DeclarationName()); return Instantiator.TransformFunctionTypeParams(Loc, Params, NumParams, - nullptr, ParamTypes, - OutParams); + nullptr, ExtParamInfos, + ParamTypes, OutParams, + ParamInfos); } /// \brief Perform substitution on the base class specifiers of the |