diff options
Diffstat (limited to 'lib/AST/ExprCXX.cpp')
| -rw-r--r-- | lib/AST/ExprCXX.cpp | 11 | 
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/AST/ExprCXX.cpp b/lib/AST/ExprCXX.cpp index 4a15245591e3..8fd66a29817d 100644 --- a/lib/AST/ExprCXX.cpp +++ b/lib/AST/ExprCXX.cpp @@ -305,10 +305,11 @@ void CXXConstructExpr::Destroy(ASTContext &C) {  CXXExprWithTemporaries::CXXExprWithTemporaries(Expr *subexpr,                                                  CXXTemporary **temps,  -                                               unsigned numtemps) +                                               unsigned numtemps, +                                               bool destroytemps)  : Expr(CXXExprWithTemporariesClass, subexpr->getType(),         subexpr->isTypeDependent(), subexpr->isValueDependent()),  -  SubExpr(subexpr), Temps(0), NumTemps(numtemps) { +  SubExpr(subexpr), Temps(0), NumTemps(numtemps), DestroyTemps(destroytemps) {    if (NumTemps > 0) {      Temps = new CXXTemporary*[NumTemps];      for (unsigned i = 0; i < NumTemps; ++i) @@ -319,8 +320,10 @@ CXXExprWithTemporaries::CXXExprWithTemporaries(Expr *subexpr,  CXXExprWithTemporaries *CXXExprWithTemporaries::Create(ASTContext &C,                                                          Expr *SubExpr,                                                         CXXTemporary **Temps,  -                                                       unsigned NumTemps) { -  return new (C) CXXExprWithTemporaries(SubExpr, Temps, NumTemps); +                                                       unsigned NumTemps, +                                                       bool DestroyTemps) { +  return new (C) CXXExprWithTemporaries(SubExpr, Temps, NumTemps,  +                                        DestroyTemps);  }  void CXXExprWithTemporaries::Destroy(ASTContext &C) {  | 
