Lines Matching defs:PExp
11015 // Type-checking. Ultimately the pointer's going to be in PExp;
11017 Expr *PExp = LHS.get(), *IExp = RHS.get();
11020 if (PExp->getType()->isPointerType()) {
11022 } else if (PExp->getType()->isObjCObjectPointerType()) {
11025 std::swap(PExp, IExp);
11026 if (PExp->getType()->isPointerType()) {
11028 } else if (PExp->getType()->isObjCObjectPointerType()) {
11034 assert(PExp->getType()->isAnyPointerType());
11040 if (PExp->IgnoreParenCasts()->isNullPointerConstant(
11050 Context, BO_Add, PExp, IExp);
11051 diagnoseArithmeticOnNullPointer(*this, Loc, PExp, IsGNUIdiom);
11055 if (!checkArithmeticOpPointerOperand(*this, Loc, PExp))
11058 if (isObjCPointer && checkArithmeticOnObjCPointer(*this, Loc, PExp))
11063 if (isa<AddrLabelExpr>(PExp) && getLangOpts().PointerAuthIndirectGotos) {
11070 CheckArrayAccess(PExp, IExp);
11082 return PExp->getType();