friend class ASTStmtWriter;
public:
- MaterializeTemporaryExpr(Expr *Temporary, bool BoundToLvalueReference)
- : Expr(MaterializeTemporaryExprClass, Temporary->getType(),
+ MaterializeTemporaryExpr(QualType T, Expr *Temporary,
+ bool BoundToLvalueReference)
+ : Expr(MaterializeTemporaryExprClass, T,
BoundToLvalueReference? VK_LValue : VK_XValue, OK_Ordinary,
Temporary->isTypeDependent(), Temporary->isValueDependent(),
Temporary->containsUnexpandedParameterPack()),
return ExprError();
// Materialize the temporary into memory.
- CurInit = new (S.Context) MaterializeTemporaryExpr(CurInit.get(),
+ CurInit = new (S.Context) MaterializeTemporaryExpr(
+ Entity.getType().getNonReferenceType(),
+ CurInit.get(),
Entity.getType()->isLValueReferenceType());
break;