================
@@ -750,8 +750,22 @@ void InitListChecker::FillInEmptyInitForField(unsigned
Init, FieldDecl *Field,
if (Field->hasInClassInitializer()) {
if (VerifyOnly)
return;
-
- ExprResult DIE = SemaRef.BuildCXXDefaultInitExpr(Loc, Field);
+ ExprResult DIE;
+ {
+ // Enter a default initializer rebuild context, then we can support
+ // lifetime extension of temporary created by aggregate initialization
+ // using a default member initializer.
+ // CWG1815 (https://wg21.link/CWG1815).
+ EnterExpressionEvaluationContext RebuildDefaultInit(
+ SemaRef, Sema::ExpressionEvaluationContext::PotentiallyEvaluated,
+ /*LambdaContextDecl=*/nullptr,
+ Sema::ExpressionEvaluationContextRecord::EK_Other, true);
----------------
cor3ntin wrote:
```suggestion
EnterExpressionEvaluationContext RebuildDefaultInit(
SemaRef, Sema::ExpressionEvaluationContext::PotentiallyEvaluated);
```
https://github.com/llvm/llvm-project/pull/97308
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits