From a16904bc41dcda23a9af2ef26355b74958340b56 Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Tue, 5 May 2009 23:28:21 +0000 Subject: Fixes a bug for objc2's gc in the presense of type-casts. llvm-svn: 71041 --- clang/lib/AST/Expr.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'clang/lib/AST/Expr.cpp') diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp index 13d2a1be3f9..77a25f6fc0e 100644 --- a/clang/lib/AST/Expr.cpp +++ b/clang/lib/AST/Expr.cpp @@ -935,6 +935,8 @@ bool Expr::isOBJCGCCandidate() const { return cast(this)->getSubExpr()->isOBJCGCCandidate(); case ImplicitCastExprClass: return cast(this)->getSubExpr()->isOBJCGCCandidate(); + case CStyleCastExprClass: + return cast(this)->getSubExpr()->isOBJCGCCandidate(); case DeclRefExprClass: case QualifiedDeclRefExprClass: { const Decl *D = cast(this)->getDecl(); @@ -944,7 +946,7 @@ bool Expr::isOBJCGCCandidate() const { } case MemberExprClass: { const MemberExpr *M = cast(this); - return !M->isArrow() && M->getBase()->isOBJCGCCandidate(); + return M->getBase()->isOBJCGCCandidate(); } case ArraySubscriptExprClass: return cast(this)->getBase()->isOBJCGCCandidate(); -- cgit v1.2.3