@@ -1013,15 +1013,15 @@ CXXDefaultArgExpr *CXXDefaultArgExpr::CreateEmpty(const ASTContext &C,
10131013 return new (Mem) CXXDefaultArgExpr (EmptyShell (), HasRewrittenInit);
10141014}
10151015
1016- CXXDefaultArgExpr *CXXDefaultArgExpr::Create (const ASTContext &C,
1017- SourceLocation Loc,
1018- ParmVarDecl *Param,
1019- Expr *RewrittenExpr,
1020- DeclContext *UsedContext) {
1016+ CXXDefaultArgExpr *
1017+ CXXDefaultArgExpr::Create (const ASTContext &C, SourceLocation Loc,
1018+ ParmVarDecl *Param, DeclContext *UsedContext,
1019+ Expr *RewrittenExpr, bool HasRewrittenInit) {
10211020 size_t Size = totalSizeToAlloc<Expr *>(RewrittenExpr != nullptr );
10221021 auto *Mem = C.Allocate (Size, alignof (CXXDefaultArgExpr));
1023- return new (Mem) CXXDefaultArgExpr (CXXDefaultArgExprClass, Loc, Param,
1024- RewrittenExpr, UsedContext);
1022+ return new (Mem)
1023+ CXXDefaultArgExpr (CXXDefaultArgExprClass, Loc, Param, UsedContext,
1024+ RewrittenExpr, HasRewrittenInit);
10251025}
10261026
10271027Expr *CXXDefaultArgExpr::getExpr () {
@@ -1042,18 +1042,18 @@ Expr *CXXDefaultArgExpr::getAdjustedRewrittenExpr() {
10421042CXXDefaultInitExpr::CXXDefaultInitExpr (const ASTContext &Ctx,
10431043 SourceLocation Loc, FieldDecl *Field,
10441044 QualType Ty, DeclContext *UsedContext,
1045- Expr *RewrittenInitExpr )
1045+ Expr *InitExpr, bool HasRewrittenInit )
10461046 : Expr(CXXDefaultInitExprClass, Ty.getNonLValueExprType(Ctx),
10471047 Ty->isLValueReferenceType() ? VK_LValue
10481048 : Ty->isRValueReferenceType() ? VK_XValue
10491049 : VK_PRValue,
10501050 /* FIXME*/ OK_Ordinary),
10511051 Field(Field), UsedContext(UsedContext) {
10521052 CXXDefaultInitExprBits.Loc = Loc;
1053- CXXDefaultInitExprBits.HasRewrittenInit = RewrittenInitExpr != nullptr ;
1053+ CXXDefaultInitExprBits.HasRewrittenInit = HasRewrittenInit ;
10541054
10551055 if (CXXDefaultInitExprBits.HasRewrittenInit )
1056- *getTrailingObjects<Expr *>() = RewrittenInitExpr ;
1056+ *getTrailingObjects<Expr *>() = InitExpr ;
10571057
10581058 assert (Field->hasInClassInitializer ());
10591059
@@ -1067,16 +1067,15 @@ CXXDefaultInitExpr *CXXDefaultInitExpr::CreateEmpty(const ASTContext &C,
10671067 return new (Mem) CXXDefaultInitExpr (EmptyShell (), HasRewrittenInit);
10681068}
10691069
1070- CXXDefaultInitExpr *CXXDefaultInitExpr::Create (const ASTContext &Ctx,
1071- SourceLocation Loc,
1072- FieldDecl *Field,
1073- DeclContext *UsedContext,
1074- Expr *RewrittenInitExpr) {
1070+ CXXDefaultInitExpr *
1071+ CXXDefaultInitExpr::Create (const ASTContext &Ctx, SourceLocation Loc,
1072+ FieldDecl *Field, DeclContext *UsedContext,
1073+ Expr *InitExpr, bool HasRewrittenInit) {
10751074
1076- size_t Size = totalSizeToAlloc<Expr *>(RewrittenInitExpr != nullptr );
1075+ size_t Size = totalSizeToAlloc<Expr *>(InitExpr != nullptr );
10771076 auto *Mem = Ctx.Allocate (Size, alignof (CXXDefaultInitExpr));
10781077 return new (Mem) CXXDefaultInitExpr (Ctx, Loc, Field, Field->getType (),
1079- UsedContext, RewrittenInitExpr );
1078+ UsedContext, InitExpr, HasRewrittenInit );
10801079}
10811080
10821081Expr *CXXDefaultInitExpr::getExpr () {
0 commit comments