summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaTemplateInstantiate.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2016-03-01 02:09:25 +0000
committerJohn McCall <rjmccall@apple.com>2016-03-01 02:09:25 +0000
commitc8e321d4bc6862f4939ed5200b5d4cbb9fb41a90 (patch)
tree8bdccc67a7c4cfce0c74bf0dee7e8ff064b9cbac /clang/lib/Sema/SemaTemplateInstantiate.cpp
parent5d7cf778e491db4b5fff2bebfec0a1ed24362d43 (diff)
downloadbcm5719-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.cpp9
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
OpenPOWER on IntegriCloud