• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/clang/lib/Sema/

Lines Matching refs:Pack

345   case TemplateArgument::Pack: {
346 if (Y.getKind() != TemplateArgument::Pack ||
709 DeducedPack Pack(Index);
710 Pack.Saved = Deduced[Index];
720 Packs.push_back(Pack);
761 assert(!Packs.empty() && "Pack expansion without unexpanded packs?");
806 for (auto &Pack : Packs) {
807 if (Info.PendingDeducedPacks.size() > Pack.Index)
808 Pack.Outer = Info.PendingDeducedPacks[Pack.Index];
810 Info.PendingDeducedPacks.resize(Pack.Index + 1);
811 Info.PendingDeducedPacks[Pack.Index] = &Pack;
814 std::make_pair(Info.getDeducedDepth(), Pack.Index)) {
815 Pack.New.append(PartialPackArgs, PartialPackArgs + NumPartialPackArgs);
825 Deduced[Pack.Index] = Pack.New[PackElements];
832 for (auto &Pack : Packs)
833 Info.PendingDeducedPacks[Pack.Index] = Pack.Outer;
857 for (auto &Pack : Packs) {
858 DeducedTemplateArgument &DeducedArg = Deduced[Pack.Index];
859 if (!Pack.New.empty() || !DeducedArg.isNull()) {
860 while (Pack.New.size() < PackElements)
861 Pack.New.push_back(DeducedTemplateArgument());
862 if (Pack.New.size() == PackElements)
863 Pack.New.push_back(DeducedArg);
865 Pack.New[PackElements] = DeducedArg;
866 DeducedArg = Pack.New.size() > PackElements + 1
867 ? Pack.New[PackElements + 1]
880 for (auto &Pack : Packs) {
882 Deduced[Pack.Index] = Pack.Saved;
897 Pack.New.resize(PackElements);
901 if (Pack.New.empty()) {
906 new (S.Context) TemplateArgument[Pack.New.size()];
907 std::copy(Pack.New.begin(), Pack.New.end(), ArgumentPack);
909 TemplateArgument(llvm::makeArrayRef(ArgumentPack, Pack.New.size())),
915 Pack.New[0].wasDeducedFromArrayBound());
920 if (Pack.Outer) {
921 if (Pack.Outer->DeferredDeduction.isNull()) {
924 Pack.Outer->DeferredDeduction = NewPack;
927 Loc = &Pack.Outer->DeferredDeduction;
929 Loc = &Deduced[Pack.Index];
938 if (!Result.isNull() && !Pack.DeferredDeduction.isNull()) {
940 NewPack = Pack.DeferredDeduction;
944 NamedDecl *Param = TemplateParams->getParam(Pack.Index);
2235 case TemplateArgument::Pack:
2256 if (Arg.getKind() != TemplateArgument::Pack)
2259 assert(ArgIdx == Args.size() - 1 && "Pack not at the end of argument list?");
2273 if (A.getKind() == TemplateArgument::Pack)
2424 case TemplateArgument::Pack:
2509 case TemplateArgument::Pack:
2550 if (Arg.getKind() == TemplateArgument::Pack) {
2560 assert(InnerArg.getKind() != TemplateArgument::Pack &&
3083 if (Arg.getKind() == TemplateArgument::Pack) {
5428 if (Arg.getKind() == TemplateArgument::Pack) {
5894 case TemplateArgument::Pack: