diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2009-05-05 23:28:21 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2009-05-05 23:28:21 +0000 |
commit | 06b89124a9a5971a0528cc9da6817740bac43164 (patch) | |
tree | 4d654c8587e243df92a43dd9ccbad67e88f5db9f /lib/AST/Expr.cpp | |
parent | e1baed38437e08fee7ab372ba2579ce22da354c2 (diff) |
Fixes a bug for objc2's gc in the presense of type-casts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71041 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/Expr.cpp')
-rw-r--r-- | lib/AST/Expr.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp index 13d2a1be3f..77a25f6fc0 100644 --- a/lib/AST/Expr.cpp +++ b/lib/AST/Expr.cpp @@ -935,6 +935,8 @@ bool Expr::isOBJCGCCandidate() const { return cast<ParenExpr>(this)->getSubExpr()->isOBJCGCCandidate(); case ImplicitCastExprClass: return cast<ImplicitCastExpr>(this)->getSubExpr()->isOBJCGCCandidate(); + case CStyleCastExprClass: + return cast<CStyleCastExpr>(this)->getSubExpr()->isOBJCGCCandidate(); case DeclRefExprClass: case QualifiedDeclRefExprClass: { const Decl *D = cast<DeclRefExpr>(this)->getDecl(); @@ -944,7 +946,7 @@ bool Expr::isOBJCGCCandidate() const { } case MemberExprClass: { const MemberExpr *M = cast<MemberExpr>(this); - return !M->isArrow() && M->getBase()->isOBJCGCCandidate(); + return M->getBase()->isOBJCGCCandidate(); } case ArraySubscriptExprClass: return cast<ArraySubscriptExpr>(this)->getBase()->isOBJCGCCandidate(); |