@@ -11351,7 +11351,6 @@ class Sema final : public SemaBase {
1135111351 ConceptDecl *NamedConcept, NamedDecl *FoundDecl,
1135211352 const TemplateArgumentListInfo *TemplateArgs,
1135311353 TemplateTypeParmDecl *ConstrainedParameter,
11354- QualType ConstrainedType,
1135511354 SourceLocation EllipsisLoc);
1135611355
1135711356 bool AttachTypeConstraint(AutoTypeLoc TL,
@@ -14552,13 +14551,14 @@ class Sema final : public SemaBase {
1455214551 /// \returns true if an error occurred and satisfaction could not be checked,
1455314552 /// false otherwise.
1455414553 bool CheckConstraintSatisfaction(
14555- const NamedDecl *Template, ArrayRef<const Expr *> ConstraintExprs,
14554+ const NamedDecl *Template,
14555+ ArrayRef<AssociatedConstraint> AssociatedConstraints,
1455614556 const MultiLevelTemplateArgumentList &TemplateArgLists,
1455714557 SourceRange TemplateIDRange, ConstraintSatisfaction &Satisfaction) {
1455814558 llvm::SmallVector<Expr *, 4> Converted;
14559- return CheckConstraintSatisfaction(Template, ConstraintExprs, Converted ,
14560- TemplateArgLists, TemplateIDRange ,
14561- Satisfaction);
14559+ return CheckConstraintSatisfaction(Template, AssociatedConstraints ,
14560+ Converted, TemplateArgLists ,
14561+ TemplateIDRange, Satisfaction);
1456214562 }
1456314563
1456414564 /// \brief Check whether the given list of constraint expressions are
@@ -14584,7 +14584,8 @@ class Sema final : public SemaBase {
1458414584 /// \returns true if an error occurred and satisfaction could not be checked,
1458514585 /// false otherwise.
1458614586 bool CheckConstraintSatisfaction(
14587- const NamedDecl *Template, ArrayRef<const Expr *> ConstraintExprs,
14587+ const NamedDecl *Template,
14588+ ArrayRef<AssociatedConstraint> AssociatedConstraints,
1458814589 llvm::SmallVectorImpl<Expr *> &ConvertedConstraints,
1458914590 const MultiLevelTemplateArgumentList &TemplateArgList,
1459014591 SourceRange TemplateIDRange, ConstraintSatisfaction &Satisfaction);
@@ -14662,7 +14663,7 @@ class Sema final : public SemaBase {
1466214663
1466314664 const NormalizedConstraint *getNormalizedAssociatedConstraints(
1466414665 const NamedDecl *ConstrainedDecl,
14665- ArrayRef<const Expr * > AssociatedConstraints);
14666+ ArrayRef<AssociatedConstraint > AssociatedConstraints);
1466614667
1466714668 /// \brief Check whether the given declaration's associated constraints are
1466814669 /// at least as constrained than another declaration's according to the
@@ -14673,17 +14674,18 @@ class Sema final : public SemaBase {
1467314674 ///
1467414675 /// \returns true if an error occurred, false otherwise.
1467514676 bool IsAtLeastAsConstrained(const NamedDecl *D1,
14676- MutableArrayRef<const Expr * > AC1,
14677+ MutableArrayRef<AssociatedConstraint > AC1,
1467714678 const NamedDecl *D2,
14678- MutableArrayRef<const Expr *> AC2, bool &Result);
14679+ MutableArrayRef<AssociatedConstraint> AC2,
14680+ bool &Result);
1467914681
1468014682 /// If D1 was not at least as constrained as D2, but would've been if a pair
1468114683 /// of atomic constraints involved had been declared in a concept and not
1468214684 /// repeated in two separate places in code.
1468314685 /// \returns true if such a diagnostic was emitted, false otherwise.
1468414686 bool MaybeEmitAmbiguousAtomicConstraintsDiagnostic(
14685- const NamedDecl *D1, ArrayRef<const Expr * > AC1, const NamedDecl *D2 ,
14686- ArrayRef< const Expr * > AC2);
14687+ const NamedDecl *D1, ArrayRef<AssociatedConstraint > AC1,
14688+ const NamedDecl *D2, ArrayRef<AssociatedConstraint > AC2);
1468714689
1468814690private:
1468914691 /// Caches pairs of template-like decls whose associated constraints were
0 commit comments