@@ -10134,8 +10134,7 @@ class Sema final : public SemaBase {
1013410134 ADLCallKind IsADLCandidate = ADLCallKind::NotADL,
1013510135 ConversionSequenceList EarlyConversions = std::nullopt,
1013610136 OverloadCandidateParamOrder PO = {},
10137- bool AggregateCandidateDeduction = false,
10138- bool HasMatchedPackOnParmToNonPackOnArg = false);
10137+ bool AggregateCandidateDeduction = false);
1013910138
1014010139 /// Add all of the function declarations in the given function set to
1014110140 /// the overload candidate set.
@@ -10170,8 +10169,7 @@ class Sema final : public SemaBase {
1017010169 bool SuppressUserConversions = false,
1017110170 bool PartialOverloading = false,
1017210171 ConversionSequenceList EarlyConversions = std::nullopt,
10173- OverloadCandidateParamOrder PO = {},
10174- bool HasMatchedPackOnParmToNonPackOnArg = false);
10172+ OverloadCandidateParamOrder PO = {});
1017510173
1017610174 /// Add a C++ member function template as a candidate to the candidate
1017710175 /// set, using template argument deduction to produce an appropriate member
@@ -10217,8 +10215,7 @@ class Sema final : public SemaBase {
1021710215 CXXConversionDecl *Conversion, DeclAccessPair FoundDecl,
1021810216 CXXRecordDecl *ActingContext, Expr *From, QualType ToType,
1021910217 OverloadCandidateSet &CandidateSet, bool AllowObjCConversionOnExplicit,
10220- bool AllowExplicit, bool AllowResultConversion = true,
10221- bool HasMatchedPackOnParmToNonPackOnArg = false);
10218+ bool AllowExplicit, bool AllowResultConversion = true);
1022210219
1022310220 /// Adds a conversion function template specialization
1022410221 /// candidate to the overload set, using template argument deduction
@@ -11641,8 +11638,7 @@ class Sema final : public SemaBase {
1164111638 SourceLocation RAngleLoc, unsigned ArgumentPackIndex,
1164211639 SmallVectorImpl<TemplateArgument> &SugaredConverted,
1164311640 SmallVectorImpl<TemplateArgument> &CanonicalConverted,
11644- CheckTemplateArgumentKind CTAK, bool PartialOrdering,
11645- bool *MatchedPackOnParmToNonPackOnArg);
11641+ CheckTemplateArgumentKind CTAK);
1164611642
1164711643 /// Check that the given template arguments can be provided to
1164811644 /// the given template, converting the arguments along the way.
@@ -11689,8 +11685,7 @@ class Sema final : public SemaBase {
1168911685 SmallVectorImpl<TemplateArgument> &SugaredConverted,
1169011686 SmallVectorImpl<TemplateArgument> &CanonicalConverted,
1169111687 bool UpdateArgsWithConversions = true,
11692- bool *ConstraintsNotSatisfied = nullptr, bool PartialOrderingTTP = false,
11693- bool *MatchedPackOnParmToNonPackOnArg = nullptr);
11688+ bool *ConstraintsNotSatisfied = nullptr, bool PartialOrderingTTP = false);
1169411689
1169511690 bool CheckTemplateTypeArgument(
1169611691 TemplateTypeParmDecl *Param, TemplateArgumentLoc &Arg,
@@ -11724,9 +11719,7 @@ class Sema final : public SemaBase {
1172411719 /// It returns true if an error occurred, and false otherwise.
1172511720 bool CheckTemplateTemplateArgument(TemplateTemplateParmDecl *Param,
1172611721 TemplateParameterList *Params,
11727- TemplateArgumentLoc &Arg,
11728- bool PartialOrdering,
11729- bool *MatchedPackOnParmToNonPackOnArg);
11722+ TemplateArgumentLoc &Arg, bool IsDeduced);
1173011723
1173111724 void NoteTemplateLocation(const NamedDecl &Decl,
1173211725 std::optional<SourceRange> ParamRange = {});
@@ -12237,8 +12230,8 @@ class Sema final : public SemaBase {
1223712230 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
1223812231 unsigned NumExplicitlySpecified, FunctionDecl *&Specialization,
1223912232 sema::TemplateDeductionInfo &Info,
12240- SmallVectorImpl<OriginalCallArg> const *OriginalCallArgs,
12241- bool PartialOverloading, bool PartialOrdering ,
12233+ SmallVectorImpl<OriginalCallArg> const *OriginalCallArgs = nullptr ,
12234+ bool PartialOverloading = false ,
1224212235 llvm::function_ref<bool()> CheckNonDependent = [] { return false; });
1224312236
1224412237 /// Perform template argument deduction from a function call
@@ -12272,8 +12265,7 @@ class Sema final : public SemaBase {
1227212265 TemplateArgumentListInfo *ExplicitTemplateArgs, ArrayRef<Expr *> Args,
1227312266 FunctionDecl *&Specialization, sema::TemplateDeductionInfo &Info,
1227412267 bool PartialOverloading, bool AggregateDeductionCandidate,
12275- bool PartialOrdering, QualType ObjectType,
12276- Expr::Classification ObjectClassification,
12268+ QualType ObjectType, Expr::Classification ObjectClassification,
1227712269 llvm::function_ref<bool(ArrayRef<QualType>)> CheckNonDependent);
1227812270
1227912271 /// Deduce template arguments when taking the address of a function
@@ -12426,9 +12418,8 @@ class Sema final : public SemaBase {
1242612418 sema::TemplateDeductionInfo &Info);
1242712419
1242812420 bool isTemplateTemplateParameterAtLeastAsSpecializedAs(
12429- TemplateParameterList *PParam, TemplateDecl *PArg, TemplateDecl *AArg,
12430- const DefaultArguments &DefaultArgs, SourceLocation ArgLoc,
12431- bool PartialOrdering, bool *MatchedPackOnParmToNonPackOnArg);
12421+ TemplateParameterList *PParam, TemplateDecl *AArg,
12422+ const DefaultArguments &DefaultArgs, SourceLocation Loc, bool IsDeduced);
1243212423
1243312424 /// Mark which template parameters are used in a given expression.
1243412425 ///
@@ -12737,9 +12728,6 @@ class Sema final : public SemaBase {
1273712728
1273812729 /// We are instantiating a type alias template declaration.
1273912730 TypeAliasTemplateInstantiation,
12740-
12741- /// We are performing partial ordering for template template parameters.
12742- PartialOrderingTTP,
1274312731 } Kind;
1274412732
1274512733 /// Was the enclosing context a non-instantiation SFINAE context?
@@ -12961,12 +12949,6 @@ class Sema final : public SemaBase {
1296112949 TemplateDecl *Entity, BuildingDeductionGuidesTag,
1296212950 SourceRange InstantiationRange = SourceRange());
1296312951
12964- struct PartialOrderingTTP {};
12965- /// \brief Note that we are partial ordering template template parameters.
12966- InstantiatingTemplate(Sema &SemaRef, SourceLocation ArgLoc,
12967- PartialOrderingTTP, TemplateDecl *PArg,
12968- SourceRange InstantiationRange = SourceRange());
12969-
1297012952 /// Note that we have finished instantiating this template.
1297112953 void Clear();
1297212954
@@ -13427,8 +13409,7 @@ class Sema final : public SemaBase {
1342713409 bool InstantiateClassTemplateSpecialization(
1342813410 SourceLocation PointOfInstantiation,
1342913411 ClassTemplateSpecializationDecl *ClassTemplateSpec,
13430- TemplateSpecializationKind TSK, bool Complain = true,
13431- bool PrimaryHasMatchedPackOnParmToNonPackOnArg = false);
13412+ TemplateSpecializationKind TSK, bool Complain = true);
1343213413
1343313414 /// Instantiates the definitions of all of the member
1343413415 /// of the given class, which is an instantiation of a class template
0 commit comments