diff options
author | Tim Shen <timshen91@gmail.com> | 2016-06-21 20:29:17 +0000 |
---|---|---|
committer | Tim Shen <timshen91@gmail.com> | 2016-06-21 20:29:17 +0000 |
commit | 4a05bb8d8db64eedca81dea4493cae59d9c78d75 (patch) | |
tree | 7ba2166506bd4aa950e5d0a82d17f791ca843ba6 /clang/lib/Sema/SemaCast.cpp | |
parent | a4d156980e69fd3787a8a3948d4f1da16b1abf32 (diff) | |
download | llvm-4a05bb8d8db64eedca81dea4493cae59d9c78d75.zip llvm-4a05bb8d8db64eedca81dea4493cae59d9c78d75.tar.gz llvm-4a05bb8d8db64eedca81dea4493cae59d9c78d75.tar.bz2 |
Re-commit "[Temporary] Add an ExprWithCleanups for each C++ MaterializeTemporaryExpr."
Since D21243 fixes relative clang-tidy tests.
This reverts commit a71d9fbd41e99def9159af2b01ef6509394eaeed.
llvm-svn: 273312
Diffstat (limited to 'clang/lib/Sema/SemaCast.cpp')
-rw-r--r-- | clang/lib/Sema/SemaCast.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/Sema/SemaCast.cpp b/clang/lib/Sema/SemaCast.cpp index df32dbd..d27500d 100644 --- a/clang/lib/Sema/SemaCast.cpp +++ b/clang/lib/Sema/SemaCast.cpp @@ -641,8 +641,8 @@ void CastOperation::CheckDynamicCast() { // If we're dynamic_casting from a prvalue to an rvalue reference, we need // to materialize the prvalue before we bind the reference to it. if (SrcExpr.get()->isRValue()) - SrcExpr = new (Self.Context) MaterializeTemporaryExpr( - SrcType, SrcExpr.get(), /*IsLValueReference*/false); + SrcExpr = Self.CreateMaterializeTemporaryExpr( + SrcType, SrcExpr.get(), /*IsLValueReference*/ false); SrcPointee = SrcType; } @@ -1649,8 +1649,8 @@ static TryCastResult TryConstCast(Sema &Self, ExprResult &SrcExpr, if (NeedToMaterializeTemporary) // This is a const_cast from a class prvalue to an rvalue reference type. // Materialize a temporary to store the result of the conversion. - SrcExpr = new (Self.Context) MaterializeTemporaryExpr( - SrcType, SrcExpr.get(), /*IsLValueReference*/ false); + SrcExpr = Self.CreateMaterializeTemporaryExpr(SrcType, SrcExpr.get(), + /*IsLValueReference*/ false); return TC_Success; } |