================ @@ -1235,15 +1235,24 @@ bool Sema::AttachTypeConstraint(AutoTypeLoc TL, << NewConstrainedParm->getTypeSourceInfo() ->getTypeLoc() .getSourceRange(); + NewConstrainedParm->setPlaceholderTypeConstraint( + RecoveryExpr::Create(Context, OrigConstrainedParm->getType(), + OrigConstrainedParm->getBeginLoc(), + OrigConstrainedParm->getEndLoc(), {})); return true; } // FIXME: Concepts: This should be the type of the placeholder, but this is // unclear in the wording right now. DeclRefExpr *Ref = BuildDeclRefExpr(OrigConstrainedParm, OrigConstrainedParm->getType(), VK_PRValue, OrigConstrainedParm->getLocation()); - if (!Ref) + if (!Ref) { + NewConstrainedParm->setPlaceholderTypeConstraint( + RecoveryExpr::Create(Context, OrigConstrainedParm->getType(), + OrigConstrainedParm->getBeginLoc(), + OrigConstrainedParm->getEndLoc(), {})); ---------------- alejandro-alvarez-sonarsource wrote:
Refactored into a lambda so there is only one place to handle failures and introduce the `RecoveryExpr`. https://github.com/llvm/llvm-project/pull/121768 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits