Lines Matching defs:Pack

352           // template <class... Pack> struct S {
355 // template <class... Pack> template <class T>
357 // They're of kind TemplateArgument::Pack, not of
359 // void S<Pack...>::foo() {}
365 // for unexpanded parameters should be of a Pack kind.
1410 std::optional<unsigned> getPackIndex(TemplateArgument Pack) {
1414 return Pack.pack_size() - 1 - Index;
1430 void ExpandingFunctionParameterPack(ParmVarDecl *Pack) {
1431 SemaRef.CurrentInstantiationScope->MakeInstantiatedLocalArgPack(Pack);
1623 case TemplateArgument::Pack:
1892 assert(Arg.getKind() == TemplateArgument::Pack &&
1943 assert(Arg.getKind() == TemplateArgument::Pack &&
2043 if (Arg.getKind() == TemplateArgument::Pack) {
2057 assert(Arg.getKind() == TemplateArgument::Pack &&
2087 TemplateArgument Pack = SubstPack->getArgumentPack();
2089 getPackSubstitutedTemplateArgument(getSema(), Pack).getAsTemplate();
2094 getPackIndex(Pack));
2128 if (Arg.getKind() == TemplateArgument::Pack) {
2143 assert(Arg.getKind() == TemplateArgument::Pack &&
2339 TemplateArgument Pack = E->getArgumentPack();
2340 TemplateArgument Arg = getPackSubstitutedTemplateArgument(getSema(), Pack);
2344 E->getParameterPackLocation(), Arg, getPackIndex(Pack));
2440 if (DeclArgumentPack *Pack = Found->dyn_cast<DeclArgumentPack *>()) {
2448 E->getExprLoc(), *Pack);
2453 TransformedDecl = (*Pack)[getSema().ArgumentPackSubstitutionIndex];
2594 if (Arg.getKind() == TemplateArgument::Pack) {
2610 assert(Arg.getKind() == TemplateArgument::Pack &&
2686 TemplateArgument Pack = T->getArgumentPack();
2687 TemplateArgument Arg = getPackSubstitutedTemplateArgument(getSema(), Pack);
2690 getPackIndex(Pack), Arg, TL.getNameLoc());
3196 if (Arg.getKind() == TemplateArgument::Pack)
4684 } else if (DeclArgumentPack *Pack = dyn_cast<DeclArgumentPack *>(Stored)) {
4685 Pack->push_back(cast<VarDecl>(Inst));
4694 DeclArgumentPack *Pack = cast<DeclArgumentPack *>(LocalDecls[D]);
4695 Pack->push_back(Inst);
4709 DeclArgumentPack *Pack = new DeclArgumentPack;
4710 Stored = Pack;
4711 ArgumentPacks.push_back(Pack);
4715 for (DeclArgumentPack *Pack : ArgumentPacks)
4716 if (llvm::is_contained(*Pack, D))
4721 void LocalInstantiationScope::SetPartiallySubstitutedPack(NamedDecl *Pack,
4724 assert((!PartiallySubstitutedPack || PartiallySubstitutedPack == Pack) &&
4729 PartiallySubstitutedPack = Pack;