@@ -1277,7 +1277,8 @@ class CXXDefaultArgExpr final
12771277 DeclContext *UsedContext;
12781278
12791279 CXXDefaultArgExpr (StmtClass SC, SourceLocation Loc, ParmVarDecl *Param,
1280- Expr *RewrittenExpr, DeclContext *UsedContext)
1280+ DeclContext *UsedContext, Expr *RewrittenExpr,
1281+ bool HasRewrittenInit)
12811282 : Expr(SC,
12821283 Param->hasUnparsedDefaultArg ()
12831284 ? Param->getType().getNonReferenceType()
@@ -1286,7 +1287,7 @@ class CXXDefaultArgExpr final
12861287 Param->getDefaultArg()->getObjectKind()),
12871288 Param(Param), UsedContext(UsedContext) {
12881289 CXXDefaultArgExprBits.Loc = Loc;
1289- CXXDefaultArgExprBits.HasRewrittenInit = RewrittenExpr != nullptr ;
1290+ CXXDefaultArgExprBits.HasRewrittenInit = HasRewrittenInit ;
12901291 if (RewrittenExpr)
12911292 *getTrailingObjects<Expr *>() = RewrittenExpr;
12921293 setDependence (computeDependence (this ));
@@ -1304,8 +1305,8 @@ class CXXDefaultArgExpr final
13041305 // \p Param is the parameter whose default argument is used by this
13051306 // expression.
13061307 static CXXDefaultArgExpr *Create (const ASTContext &C, SourceLocation Loc,
1307- ParmVarDecl *Param, Expr *RewrittenExpr ,
1308- DeclContext *UsedContext );
1308+ ParmVarDecl *Param, DeclContext *UsedContext ,
1309+ Expr *InitExpr, bool HasRewrittenInit );
13091310 // Retrieve the parameter that the argument was created from.
13101311 const ParmVarDecl *getParam () const { return Param; }
13111312 ParmVarDecl *getParam () { return Param; }
@@ -1385,7 +1386,7 @@ class CXXDefaultInitExpr final
13851386
13861387 CXXDefaultInitExpr (const ASTContext &Ctx, SourceLocation Loc,
13871388 FieldDecl *Field, QualType Ty, DeclContext *UsedContext,
1388- Expr *RewrittenInitExpr );
1389+ Expr *InitExpr, bool HasRewrittenInit );
13891390
13901391 CXXDefaultInitExpr (EmptyShell Empty, bool HasRewrittenInit)
13911392 : Expr(CXXDefaultInitExprClass, Empty) {
@@ -1399,7 +1400,7 @@ class CXXDefaultInitExpr final
13991400 // / by this expression.
14001401 static CXXDefaultInitExpr *Create (const ASTContext &Ctx, SourceLocation Loc,
14011402 FieldDecl *Field, DeclContext *UsedContext,
1402- Expr *RewrittenInitExpr );
1403+ Expr *InitExpr, bool HasRewrittenInit );
14031404
14041405 bool hasRewrittenInit () const {
14051406 return CXXDefaultInitExprBits.HasRewrittenInit ;
0 commit comments