diff options
Diffstat (limited to 'clang/lib/Sema')
| -rw-r--r-- | clang/lib/Sema/SemaDeclCXX.cpp | 1 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaInit.cpp | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index 8c1b880b869..106c754d756 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -2396,6 +2396,7 @@ void Sema::InitializeVarWithConstructor(VarDecl *VD, DeclInitType, Constructor, false, Exprs, NumExprs); MarkDeclarationReferenced(VD->getLocation(), Constructor); + Temp = MaybeCreateCXXExprWithTemporaries(Temp, /*DestroyTemps=*/true); VD->setInit(Context, Temp); } diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp index a92f7f4a534..445cd691d6a 100644 --- a/clang/lib/Sema/SemaInit.cpp +++ b/clang/lib/Sema/SemaInit.cpp @@ -179,6 +179,7 @@ bool Sema::CheckInitializerTypes(Expr *&Init, QualType &DeclType, Init = BuildCXXConstructExpr(Context, DeclType, Constructor, false, &Init, 1); + Init = MaybeCreateCXXExprWithTemporaries(Init, /*DestroyTemps=*/true); return false; } |

