@@ -273,7 +273,6 @@ calculateConstraintSatisfaction(Sema &S, const Expr *ConstraintExpr,
273
273
char *Mem = new (S.Context ) char [MessageSize];
274
274
memcpy (Mem, DiagString.c_str (), MessageSize);
275
275
Satisfaction.Details .emplace_back (
276
- ConstraintExpr,
277
276
new (S.Context ) ConstraintSatisfaction::SubstitutionDiagnostic{
278
277
SubstitutedAtomicExpr.get ()->getBeginLoc (),
279
278
StringRef (Mem, MessageSize)});
@@ -302,8 +301,7 @@ calculateConstraintSatisfaction(Sema &S, const Expr *ConstraintExpr,
302
301
" evaluating bool expression didn't produce int" );
303
302
Satisfaction.IsSatisfied = EvalResult.Val .getInt ().getBoolValue ();
304
303
if (!Satisfaction.IsSatisfied )
305
- Satisfaction.Details .emplace_back (ConstraintExpr,
306
- SubstitutedAtomicExpr.get ());
304
+ Satisfaction.Details .emplace_back (SubstitutedAtomicExpr.get ());
307
305
308
306
return SubstitutedAtomicExpr;
309
307
}
@@ -393,9 +391,8 @@ static ExprResult calculateConstraintSatisfaction(
393
391
char *Mem = new (S.Context ) char [MessageSize];
394
392
memcpy (Mem, DiagString.c_str (), MessageSize);
395
393
Satisfaction.Details .emplace_back (
396
- AtomicExpr,
397
394
new (S.Context ) ConstraintSatisfaction::SubstitutionDiagnostic{
398
- SubstDiag.first , StringRef (Mem, MessageSize)});
395
+ SubstDiag.first , StringRef (Mem, MessageSize)});
399
396
Satisfaction.IsSatisfied = false ;
400
397
return ExprEmpty ();
401
398
}
@@ -1056,13 +1053,14 @@ static void diagnoseUnsatisfiedRequirement(Sema &S,
1056
1053
concepts::NestedRequirement *Req,
1057
1054
bool First) {
1058
1055
using SubstitutionDiagnostic = std::pair<SourceLocation, StringRef>;
1059
- for (auto &Pair : Req->getConstraintSatisfaction ()) {
1060
- if (auto *SubstDiag = Pair. second .dyn_cast <SubstitutionDiagnostic *>())
1056
+ for (auto &Record : Req->getConstraintSatisfaction ()) {
1057
+ if (auto *SubstDiag = Record .dyn_cast <SubstitutionDiagnostic *>())
1061
1058
S.Diag (SubstDiag->first , diag::note_nested_requirement_substitution_error)
1062
- << (int )First << Req->getInvalidConstraintEntity () << SubstDiag->second ;
1059
+ << (int )First << Req->getInvalidConstraintEntity ()
1060
+ << SubstDiag->second ;
1063
1061
else
1064
- diagnoseWellFormedUnsatisfiedConstraintExpr (
1065
- S, Pair. second . dyn_cast <Expr *>(), First);
1062
+ diagnoseWellFormedUnsatisfiedConstraintExpr (S, Record. dyn_cast <Expr *>(),
1063
+ First);
1066
1064
First = false ;
1067
1065
}
1068
1066
}
@@ -1176,12 +1174,11 @@ static void diagnoseWellFormedUnsatisfiedConstraintExpr(Sema &S,
1176
1174
<< (int )First << SubstExpr;
1177
1175
}
1178
1176
1179
- template <typename SubstitutionDiagnostic>
1177
+ template <typename SubstitutionDiagnostic>
1180
1178
static void diagnoseUnsatisfiedConstraintExpr (
1181
- Sema &S, const Expr *E,
1182
- const llvm::PointerUnion<Expr *, SubstitutionDiagnostic *> &Record,
1179
+ Sema &S, const llvm::PointerUnion<Expr *, SubstitutionDiagnostic *> &Record,
1183
1180
bool First = true ) {
1184
- if (auto *Diag = Record.template dyn_cast <SubstitutionDiagnostic *>()){
1181
+ if (auto *Diag = Record.template dyn_cast <SubstitutionDiagnostic *>()) {
1185
1182
S.Diag (Diag->first , diag::note_substituted_constraint_expr_is_ill_formed)
1186
1183
<< Diag->second ;
1187
1184
return ;
@@ -1196,8 +1193,8 @@ Sema::DiagnoseUnsatisfiedConstraint(const ConstraintSatisfaction& Satisfaction,
1196
1193
bool First) {
1197
1194
assert (!Satisfaction.IsSatisfied &&
1198
1195
" Attempted to diagnose a satisfied constraint" );
1199
- for (auto &Pair : Satisfaction.Details ) {
1200
- diagnoseUnsatisfiedConstraintExpr (*this , Pair. first , Pair. second , First);
1196
+ for (auto &Record : Satisfaction.Details ) {
1197
+ diagnoseUnsatisfiedConstraintExpr (*this , Record , First);
1201
1198
First = false ;
1202
1199
}
1203
1200
}
@@ -1207,8 +1204,8 @@ void Sema::DiagnoseUnsatisfiedConstraint(
1207
1204
bool First) {
1208
1205
assert (!Satisfaction.IsSatisfied &&
1209
1206
" Attempted to diagnose a satisfied constraint" );
1210
- for (auto &Pair : Satisfaction) {
1211
- diagnoseUnsatisfiedConstraintExpr (*this , Pair. first , Pair. second , First);
1207
+ for (auto &Record : Satisfaction) {
1208
+ diagnoseUnsatisfiedConstraintExpr (*this , Record , First);
1212
1209
First = false ;
1213
1210
}
1214
1211
}
0 commit comments