Lines Matching defs:PExp
10896 // Type-checking. Ultimately the pointer's going to be in PExp;
10898 Expr *PExp = LHS.get(), *IExp = RHS.get();
10901 if (PExp->getType()->isPointerType()) {
10903 } else if (PExp->getType()->isObjCObjectPointerType()) {
10906 std::swap(PExp, IExp);
10907 if (PExp->getType()->isPointerType()) {
10909 } else if (PExp->getType()->isObjCObjectPointerType()) {
10915 assert(PExp->getType()->isAnyPointerType());
10921 if (PExp->IgnoreParenCasts()->isNullPointerConstant(
10931 Context, BO_Add, PExp, IExp);
10932 diagnoseArithmeticOnNullPointer(*this, Loc, PExp, IsGNUIdiom);
10936 if (!checkArithmeticOpPointerOperand(*this, Loc, PExp))
10939 if (isObjCPointer && checkArithmeticOnObjCPointer(*this, Loc, PExp))
10944 if (isa<AddrLabelExpr>(PExp) && getLangOpts().PointerAuthIndirectGotos) {
10951 CheckArrayAccess(PExp, IExp);
10963 return PExp->getType();