diff options
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/AST/Expr.cpp | 4 | 
1 files changed, 3 insertions, 1 deletions
| 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<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(); | 

