Lines Matching refs:Param

1047   TemplateTypeParmDecl *Param  in ActOnTypeParameter()  local
1052 Param->setAccess(AS_public); in ActOnTypeParameter()
1054 if (Param->isParameterPack()) in ActOnTypeParameter()
1056 LSI->LocalPacks.push_back(Param); in ActOnTypeParameter()
1062 S->AddDecl(Param); in ActOnTypeParameter()
1063 IdResolver.AddDecl(Param); in ActOnTypeParameter()
1084 return Param; in ActOnTypeParameter()
1088 Param->setInvalidDecl(); in ActOnTypeParameter()
1089 return Param; in ActOnTypeParameter()
1092 Param->setDefaultArgument(DefaultTInfo); in ActOnTypeParameter()
1095 return Param; in ActOnTypeParameter()
1553 NonTypeTemplateParmDecl *Param = NonTypeTemplateParmDecl::Create( in ActOnNonTypeTemplateParameter() local
1557 Param->setAccess(AS_public); in ActOnNonTypeTemplateParameter()
1561 if (AttachTypeConstraint(TL, Param, D.getEllipsisLoc())) in ActOnNonTypeTemplateParameter()
1565 Param->setInvalidDecl(); in ActOnNonTypeTemplateParameter()
1567 if (Param->isParameterPack()) in ActOnNonTypeTemplateParameter()
1569 LSI->LocalPacks.push_back(Param); in ActOnNonTypeTemplateParameter()
1576 S->AddDecl(Param); in ActOnNonTypeTemplateParameter()
1577 IdResolver.AddDecl(Param); in ActOnNonTypeTemplateParameter()
1592 return Param; in ActOnNonTypeTemplateParameter()
1596 CheckTemplateArgument(Param, Param->getType(), Default, Converted); in ActOnNonTypeTemplateParameter()
1598 Param->setInvalidDecl(); in ActOnNonTypeTemplateParameter()
1599 return Param; in ActOnNonTypeTemplateParameter()
1603 Param->setDefaultArgument(Default); in ActOnNonTypeTemplateParameter()
1606 return Param; in ActOnNonTypeTemplateParameter()
1627 TemplateTemplateParmDecl *Param = in ActOnTemplateTemplateParameter() local
1632 Param->setAccess(AS_public); in ActOnTemplateTemplateParameter()
1634 if (Param->isParameterPack()) in ActOnTemplateTemplateParameter()
1636 LSI->LocalPacks.push_back(Param); in ActOnTemplateTemplateParameter()
1643 S->AddDecl(Param); in ActOnTemplateTemplateParameter()
1644 IdResolver.AddDecl(Param); in ActOnTemplateTemplateParameter()
1648 Diag(Param->getLocation(), diag::err_template_template_parm_no_parms) in ActOnTemplateTemplateParameter()
1650 Param->setInvalidDecl(); in ActOnTemplateTemplateParameter()
1674 return Param; in ActOnTemplateTemplateParameter()
1681 return Param; in ActOnTemplateTemplateParameter()
1683 Param->setDefaultArgument(Context, DefaultArg); in ActOnTemplateTemplateParameter()
1686 return Param; in ActOnTemplateTemplateParameter()
2181 for (NamedDecl *Param : *InnerParams) { in transformConstructor()
2186 NamedDecl *NewParam = transformTemplateParameter(Param, Args); in transformConstructor()
2448 for (auto *Param : Params) local
2449 Param->setDeclContext(Guide);
4272 NamedDecl *Param = TemplateParams->getParam(I); in noteNonDeducibleParameters() local
4273 if (Param->getDeclName()) in noteNonDeducibleParameters()
4274 S.Diag(Param->getLocation(), diag::note_non_deducible_parameter) in noteNonDeducibleParameters()
4275 << Param->getDeclName(); in noteNonDeducibleParameters()
4277 S.Diag(Param->getLocation(), diag::note_non_deducible_parameter) in noteNonDeducibleParameters()
4335 auto *Param = TemplateParams->getParam(I); in CheckDeductionGuideTemplate() local
4336 if (Param->isParameterPack() || hasVisibleDefaultArgument(Param)) in CheckDeductionGuideTemplate()
5011 bool Sema::CheckTemplateTypeArgument(TemplateTypeParmDecl *Param, in CheckTemplateTypeArgument() argument
5068 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateTypeArgument()
5097 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateTypeArgument()
5150 TemplateTypeParmDecl *Param, in SubstDefaultTemplateArgument() argument
5152 TypeSourceInfo *ArgType = Param->getDefaultArgumentInfo(); in SubstDefaultTemplateArgument()
5158 Param, Template, Converted, in SubstDefaultTemplateArgument()
5168 for (unsigned i = 0, e = Param->getDepth(); i != e; ++i) in SubstDefaultTemplateArgument()
5178 Param->getDefaultArgumentLoc(), Param->getDeclName()); in SubstDefaultTemplateArgument()
5211 NonTypeTemplateParmDecl *Param, in SubstDefaultTemplateArgument() argument
5214 Param, Template, Converted, in SubstDefaultTemplateArgument()
5224 for (unsigned i = 0, e = Param->getDepth(); i != e; ++i) in SubstDefaultTemplateArgument()
5230 return SemaRef.SubstExpr(Param->getDefaultArgument(), TemplateArgLists); in SubstDefaultTemplateArgument()
5263 TemplateTemplateParmDecl *Param, in SubstDefaultTemplateArgument() argument
5267 SemaRef, TemplateLoc, TemplateParameter(Param), Template, Converted, in SubstDefaultTemplateArgument()
5277 for (unsigned i = 0, e = Param->getDepth(); i != e; ++i) in SubstDefaultTemplateArgument()
5282 QualifierLoc = Param->getDefaultArgument().getTemplateQualifierLoc(); in SubstDefaultTemplateArgument()
5292 Param->getDefaultArgument().getArgument().getAsTemplate(), in SubstDefaultTemplateArgument()
5293 Param->getDefaultArgument().getTemplateNameLoc(), in SubstDefaultTemplateArgument()
5304 Decl *Param, in SubstDefaultTemplateArgumentIfAvailable() argument
5310 if (TemplateTypeParmDecl *TypeParm = dyn_cast<TemplateTypeParmDecl>(Param)) { in SubstDefaultTemplateArgumentIfAvailable()
5327 = dyn_cast<NonTypeTemplateParmDecl>(Param)) { in SubstDefaultTemplateArgumentIfAvailable()
5345 = cast<TemplateTemplateParmDecl>(Param); in SubstDefaultTemplateArgumentIfAvailable()
5426 bool Sema::CheckTemplateArgument(NamedDecl *Param, in CheckTemplateArgument() argument
5435 if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(Param)) in CheckTemplateArgument()
5439 if (NonTypeTemplateParmDecl *NTTP =dyn_cast<NonTypeTemplateParmDecl>(Param)) { in CheckTemplateArgument()
5567 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
5587 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
5600 TemplateTemplateParmDecl *TempParm = cast<TemplateTemplateParmDecl>(Param); in CheckTemplateArgument()
5743 for (TemplateParameterList::iterator Param = Params->begin(), in CheckTemplateArgumentList() local
5745 Param != ParamEnd; /* increment in loop */) { in CheckTemplateArgumentList()
5748 if (Optional<unsigned> Expansions = getExpandedPackSize(*Param)) { in CheckTemplateArgumentList()
5757 ++Param; in CheckTemplateArgumentList()
5773 if (CheckTemplateArgument(*Param, NewArgs[ArgIdx], Template, in CheckTemplateArgumentList()
5780 (!(*Param)->isTemplateParameterPack() || getExpandedPackSize(*Param)); in CheckTemplateArgumentList()
5792 Diag((*Param)->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentList()
5799 if ((*Param)->isTemplateParameterPack()) { in CheckTemplateArgumentList()
5807 ++Param; in CheckTemplateArgumentList()
5835 if ((*Param)->isTemplateParameterPack() && !ArgumentPack.empty()) in CheckTemplateArgumentList()
5843 if ((*Param)->isTemplateParameterPack()) { in CheckTemplateArgumentList()
5844 assert(!getExpandedPackSize(*Param) && in CheckTemplateArgumentList()
5850 if (Param + 1 != ParamEnd) in CheckTemplateArgumentList()
5857 ++Param; in CheckTemplateArgumentList()
5869 if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(*Param)) { in CheckTemplateArgumentList()
5886 = dyn_cast<NonTypeTemplateParmDecl>(*Param)) { in CheckTemplateArgumentList()
5903 = cast<TemplateTemplateParmDecl>(*Param); in CheckTemplateArgumentList()
5928 InstantiatingTemplate Inst(*this, RAngleLoc, Template, *Param, Converted, in CheckTemplateArgumentList()
5934 if (CheckTemplateArgument(*Param, Arg, Template, TemplateLoc, in CheckTemplateArgumentList()
5945 ++Param; in CheckTemplateArgumentList()
6308 isNullPointerValueTemplateArgument(Sema &S, NonTypeTemplateParmDecl *Param, in isNullPointerValueTemplateArgument() argument
6353 S.Diag(Param->getLocation(), diag::note_template_param_here); in isNullPointerValueTemplateArgument()
6379 S.Diag(Param->getLocation(), diag::note_template_param_here); in isNullPointerValueTemplateArgument()
6391 S.Diag(Param->getLocation(), diag::note_template_param_here); in isNullPointerValueTemplateArgument()
6404 Sema &S, NonTypeTemplateParmDecl *Param, QualType ParamType, Expr *ArgIn, in CheckTemplateArgumentIsCompatibleWithParameter() argument
6432 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentIsCompatibleWithParameter()
6450 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentIsCompatibleWithParameter()
6462 NonTypeTemplateParmDecl *Param, in CheckTemplateArgumentAddressOfObjectOrFunction() argument
6565 switch (isNullPointerValueTemplateArgument(S, Param, ParamType, ArgIn, in CheckTemplateArgumentAddressOfObjectOrFunction()
6591 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
6599 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
6608 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
6648 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
6669 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
6676 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
6698 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
6705 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
6709 if (CheckTemplateArgumentIsCompatibleWithParameter(S, Param, ParamType, ArgIn, in CheckTemplateArgumentAddressOfObjectOrFunction()
6723 NonTypeTemplateParmDecl *Param, in CheckTemplateArgumentPointerToMember() argument
6789 switch (isNullPointerValueTemplateArgument(S, Param, ParamType, ResultArg, in CheckTemplateArgumentPointerToMember()
6813 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentPointerToMember()
6855 ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, in CheckTemplateArgument() argument
6880 Optional<unsigned> Depth = Param->getDepth() + 1; in CheckTemplateArgument()
6885 Context.getTrivialTypeSourceInfo(ParamType, Param->getLocation()); in CheckTemplateArgument()
6888 InitializedEntity::InitializeTemplateParameter(ParamType, Param); in CheckTemplateArgument()
6906 << Param->getDeclName() << Param->getType() << Arg->getType() in CheckTemplateArgument()
6908 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
6917 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
6951 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
7017 Arg, ParamType, Value, CCEK_TemplateArg, Param); in CheckTemplateArgument()
7192 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
7230 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
7271 << toString(OldValue, 10) << toString(Value, 10) << Param->getType() in CheckTemplateArgument()
7273 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
7286 << toString(OldValue, 10) << toString(Value, 10) << Param->getType() in CheckTemplateArgument()
7288 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
7340 if (CheckTemplateArgumentAddressOfObjectOrFunction(*this, Param, in CheckTemplateArgument()
7347 if (CheckTemplateArgumentPointerToMember(*this, Param, ParamType, Arg, in CheckTemplateArgument()
7361 if (CheckTemplateArgumentAddressOfObjectOrFunction(*this, Param, in CheckTemplateArgument()
7392 if (CheckTemplateArgumentAddressOfObjectOrFunction(*this, Param, in CheckTemplateArgument()
7406 switch (isNullPointerValueTemplateArgument(*this, Param, ParamType, Arg)) { in CheckTemplateArgument()
7410 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
7428 if (CheckTemplateArgumentPointerToMember(*this, Param, ParamType, Arg, in CheckTemplateArgument()
7443 bool Sema::CheckTemplateTemplateArgument(TemplateTemplateParmDecl *Param, in CheckTemplateTemplateArgument() argument
7515 if (IsAtLeastAsConstrained(Param, ParamsAC, Template, TemplateAC, in CheckTemplateTemplateArgument()
7521 << Template << Param << Arg.getSourceRange(); in CheckTemplateTemplateArgument()
7522 Diag(Param->getLocation(), diag::note_entity_declared_at) << Param; in CheckTemplateTemplateArgument()
7525 MaybeEmitAmbiguousAtomicConstraintsDiagnostic(Param, ParamsAC, Template, in CheckTemplateTemplateArgument()
8171 Sema &S, SourceLocation TemplateNameLoc, NonTypeTemplateParmDecl *Param, in CheckNonTypeTemplatePartialSpecializationArgs() argument
8176 S, TemplateNameLoc, Param, Args[I].pack_begin(), in CheckNonTypeTemplatePartialSpecializationArgs()
8224 findTemplateParameterInType(Param->getDepth(), ArgExpr); in CheckNonTypeTemplatePartialSpecializationArgs()
8241 Param->getDepth(), Param->getTypeSourceInfo()->getTypeLoc()); in CheckNonTypeTemplatePartialSpecializationArgs()
8245 << Param->getType(); in CheckNonTypeTemplatePartialSpecializationArgs()
8246 S.Diag(Param->getLocation(), diag::note_template_param_here) in CheckNonTypeTemplatePartialSpecializationArgs()
8278 NonTypeTemplateParmDecl *Param in CheckTemplatePartialSpecializationArgs() local
8280 if (!Param) in CheckTemplatePartialSpecializationArgs()
8284 Param, &TemplateArgs[I], in CheckTemplatePartialSpecializationArgs()
8352 Decl *Param = TemplateParams->getParam(I); in ActOnClassTemplateSpecialization() local
8353 if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(Param)) { in ActOnClassTemplateSpecialization()
8360 = dyn_cast<NonTypeTemplateParmDecl>(Param)) { in ActOnClassTemplateSpecialization()
8368 TemplateTemplateParmDecl *TTP = cast<TemplateTemplateParmDecl>(Param); in ActOnClassTemplateSpecialization()
10956 Decl *Param = Params->getParam(I); in RebuildTemplateParamsInCurrentInstantiation() local
10959 if (isa<TemplateTypeParmDecl>(Param)) in RebuildTemplateParamsInCurrentInstantiation()
10964 = dyn_cast<TemplateTemplateParmDecl>(Param)) { in RebuildTemplateParamsInCurrentInstantiation()
10973 NonTypeTemplateParmDecl *NTTP = cast<NonTypeTemplateParmDecl>(Param); in RebuildTemplateParamsInCurrentInstantiation()