[clang] [clang] Implement P2582R1: CTAD from inherited constructors (PR #98788)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Mon Nov 25 09:47:49 PST 2024
================
@@ -2246,18 +2246,21 @@ CXXDeductionGuideDecl *CXXDeductionGuideDecl::Create(
ASTContext &C, DeclContext *DC, SourceLocation StartLoc,
ExplicitSpecifier ES, const DeclarationNameInfo &NameInfo, QualType T,
TypeSourceInfo *TInfo, SourceLocation EndLocation, CXXConstructorDecl *Ctor,
- DeductionCandidate Kind, Expr *TrailingRequiresClause) {
- return new (C, DC)
- CXXDeductionGuideDecl(C, DC, StartLoc, ES, NameInfo, T, TInfo,
- EndLocation, Ctor, Kind, TrailingRequiresClause);
+ DeductionCandidate Kind, Expr *TrailingRequiresClause,
+ const CXXDeductionGuideDecl *GeneratedFrom,
+ SourceDeductionGuideKind SourceKind) {
+ return new (C, DC) CXXDeductionGuideDecl(
+ C, DC, StartLoc, ES, NameInfo, T, TInfo, EndLocation, Ctor, Kind,
+ TrailingRequiresClause, GeneratedFrom, SourceKind);
}
CXXDeductionGuideDecl *
CXXDeductionGuideDecl::CreateDeserialized(ASTContext &C, GlobalDeclID ID) {
return new (C, ID) CXXDeductionGuideDecl(
----------------
erichkeane wrote:
For `Expr`s we usually have a `CreateEmpty` that has an `empty`/`empty-ish` private constructor associated with it. or something like that.... this is very much making me wish we had the same for this one.
https://github.com/llvm/llvm-project/pull/98788
More information about the cfe-commits
mailing list