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/AST/Expr.cpp | |
parent | a4d156980e69fd3787a8a3948d4f1da16b1abf32 (diff) | |
download | bcm5719-llvm-4a05bb8d8db64eedca81dea4493cae59d9c78d75.tar.gz bcm5719-llvm-4a05bb8d8db64eedca81dea4493cae59d9c78d75.zip |
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/AST/Expr.cpp')
-rw-r--r-- | clang/lib/AST/Expr.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp index 4c0492c3935..dc87c0a8e26 100644 --- a/clang/lib/AST/Expr.cpp +++ b/clang/lib/AST/Expr.cpp @@ -2890,7 +2890,6 @@ bool Expr::HasSideEffects(const ASTContext &Ctx, case CXXThrowExprClass: case CXXNewExprClass: case CXXDeleteExprClass: - case ExprWithCleanupsClass: case CoawaitExprClass: case CoyieldExprClass: // These always have a side-effect. @@ -2903,6 +2902,12 @@ bool Expr::HasSideEffects(const ASTContext &Ctx, return Finder.hasSideEffects(); } + case ExprWithCleanupsClass: + if (IncludePossibleEffects) + if (cast<ExprWithCleanups>(this)->cleanupsHaveSideEffects()) + return true; + break; + case ParenExprClass: case ArraySubscriptExprClass: case OMPArraySectionExprClass: |