if (!BDR->isByRef() && isa<VarDecl>(BDR->getDecl()))
return MLV_NotBlockQualified;
}
-
+
// Assigning to an 'implicit' property?
- if (const ObjCImplicitSetterGetterRefExpr* Expr =
+ if (const ObjCImplicitSetterGetterRefExpr* Expr =
dyn_cast<ObjCImplicitSetterGetterRefExpr>(this)) {
if (Expr->getSetterMethod() == 0)
return MLV_NoSetterProperty;
}
-
+
QualType CT = Ctx.getCanonicalType(getType());
if (CT.isConstQualified())
QualType T = VD->getType();
// dereferencing to a pointer is always a gc'able candidate,
// unless it is __weak.
- return T->isPointerType() &&
+ return T->isPointerType() &&
(Ctx.getObjCGCAttrKind(T) != QualType::Weak);
}
return false;
case Expr::NoStmtClass:
case Expr::ExprClass:
return ICEDiag(2, E->getLocStart());
-
+
case Expr::GNUNullExprClass:
// GCC considers the GNU __null value to be an integral constant expression.
return NoDiag();
-
+
case Expr::ParenExprClass:
return CheckICE(cast<ParenExpr>(E)->getSubExpr(), Ctx);
case Expr::IntegerLiteralClass:
case UnaryOperator::AddrOf:
case UnaryOperator::Deref:
return ICEDiag(2, E->getLocStart());
-
+
case UnaryOperator::Extension:
case UnaryOperator::LNot:
case UnaryOperator::Plus:
case BinaryOperator::XorAssign:
case BinaryOperator::OrAssign:
return ICEDiag(2, E->getLocStart());
-
+
case BinaryOperator::Mul:
case BinaryOperator::Div:
case BinaryOperator::Rem:
return CheckICE(cast<ChooseExpr>(E)->getChosenSubExpr(Ctx), Ctx);
}
}
-
+
// Silence a GCC warning
return ICEDiag(2, E->getLocStart());
}
MarkDeclarationReferenced(Loc, D);
if (PerformObjectMemberConversion(This, D))
return ExprError();
-
+
bool ShouldCheckUse = true;
if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D)) {
// Don't diagnose the use of a virtual member function unless it's
if (MD->isVirtual() && (!SS || !SS->isSet()))
ShouldCheckUse = false;
}
-
+
if (ShouldCheckUse && DiagnoseUseOfDecl(D, Loc))
return ExprError();
return Owned(BuildMemberExpr(Context, This, true, SS, D,
return ExprError(Diag(LLoc, diag::err_typecheck_subscript_not_integer)
<< IndexExpr->getSourceRange());
- if ((IndexExpr->getType()->isSpecificBuiltinType(BuiltinType::Char_S) ||
+ if ((IndexExpr->getType()->isSpecificBuiltinType(BuiltinType::Char_S) ||
IndexExpr->getType()->isSpecificBuiltinType(BuiltinType::Char_U))
&& !IndexExpr->isTypeDependent())
Diag(LLoc, diag::warn_subscript_is_char) << IndexExpr->getSourceRange();
if (MD->isVirtual() && (!SS || !SS->isSet()))
ShouldCheckUse = false;
}
-
+
// Check the use of this field
if (ShouldCheckUse && DiagnoseUseOfDecl(MemberDecl, MemberLoc))
return ExprError();
return ExprError();
if (Method) {
- OwningExprResult CastArg = BuildCXXCastArgument(LParenLoc, castType, Kind,
+ OwningExprResult CastArg = BuildCXXCastArgument(LParenLoc, castType, Kind,
Method, move(Op));
-
+
if (CastArg.isInvalid())
return ExprError();
-
+
castExpr = CastArg.takeAs<Expr>();
} else {
Op.release();
return;
}
}
-