Lines Matching refs:OP
3065 default: llvm_unreachable("Unknown unary op!");
3320 // should always be a no-op, because blocks in default argument
5001 if (BinaryOperator *OP = dyn_cast<BinaryOperator>(E)) {
5002 if (IsArithmeticOp(OP->getOpcode())) {
5003 *Opcode = OP->getOpcode();
5004 *RHSExprs = OP->getRHS();
5015 // BinaryOperator::getOverloadedOpcode(), e.g. it's not a subscript op.
5043 if (BinaryOperator *OP = dyn_cast<BinaryOperator>(E))
5044 return IsLogicOp(OP->getOpcode());
5045 if (UnaryOperator *OP = dyn_cast<UnaryOperator>(E))
5046 return OP->getOpcode() == UO_LNot;
6129 Expr *Op) {
6130 assert(Op->getType()->isAnyPointerType());
6131 QualType PointeeTy = Op->getType()->getPointeeType();
6136 << PointeeTy << Op->getSourceRange();
7418 static QualType CheckIncrementDecrementOperand(Sema &S, Expr *Op,
7422 if (Op->isTypeDependent())
7425 QualType ResType = Op->getType();
7437 S.Diag(OpLoc, diag::err_decrement_bool) << Op->getSourceRange();
7441 S.Diag(OpLoc, diag::warn_increment_bool) << Op->getSourceRange();
7446 if (!checkArithmeticOpPointerOperand(S, OpLoc, Op))
7450 else if (!checkArithmethicPointerOnNonFragileABI(S, OpLoc, Op))
7455 << ResType << Op->getSourceRange();
7457 ExprResult PR = S.CheckPlaceholderExpr(Op);
7465 << ResType << int(IsInc) << Op->getSourceRange();
7470 if (CheckForModifiableLvalue(Op, OpLoc, S))
7598 Expr *op = OrigOp.get()->IgnoreParens();
7602 if (UnaryOperator* uOp = dyn_cast<UnaryOperator>(op)) {
7611 ValueDecl *dcl = getPrimaryDecl(op);
7612 Expr::LValueClassification lval = op->ClassifyLValue(S.Context);
7619 << op->getType() << op->getSourceRange();
7622 } else if (isa<ObjCSelectorExpr>(op)) {
7623 return S.Context.getPointerType(op->getType());
7629 if (!isa<DeclRefExpr>(op)) {
7634 DeclRefExpr *DRE = cast<DeclRefExpr>(op);
7645 << op->getSourceRange();
7648 return S.Context.getMemberPointerType(op->getType(),
7653 if (!op->getType()->isFunctionType()) {
7655 if (isa<PseudoObjectExpr>(op)) {
7660 << op->getSourceRange();
7664 } else if (op->getObjectKind() == OK_BitField) { // C99 6.5.3.2p1
7667 } else if (op->getObjectKind() == OK_VectorComponent) {
7686 if (isa<DeclRefExpr>(op) && cast<DeclRefExpr>(op)->getQualifier()) {
7698 return S.Context.getMemberPointerType(op->getType(),
7707 diagnoseAddressOfInvalidType(S, OpLoc, op, AddressOfError);
7715 S.Diag(OpLoc, diag::ext_typecheck_addrof_void) << op->getSourceRange();
7719 if (op->getType()->isObjCObjectType())
7720 return S.Context.getObjCObjectPointerType(op->getType());
7721 return S.Context.getPointerType(op->getType());
7725 static QualType CheckIndirectionOperand(Sema &S, Expr *Op, ExprValueKind &VK,
7727 if (Op->isTypeDependent())
7730 ExprResult ConvResult = S.UsualUnaryConversions(Op);
7733 Op = ConvResult.take();
7734 QualType OpTy = Op->getType();
7737 if (isa<CXXReinterpretCastExpr>(Op)) {
7738 QualType OpOrigType = Op->IgnoreParenCasts()->getType();
7740 Op->getSourceRange());
7753 ExprResult PR = S.CheckPlaceholderExpr(Op);
7755 if (PR.take() != Op)
7761 << OpTy << Op->getSourceRange();
7820 default: llvm_unreachable("Unknown unary op!");
8281 // overloaded op.
8285 // Otherwise, build an overloaded op if either expression has an
8332 else if (getLangOpts().CPlusPlus && // C++ [expr.unary.op]p6-7
8335 else if (getLangOpts().CPlusPlus && // C++ [expr.unary.op]p6
8379 // C++03 [expr.unary.op]p8, C++0x [expr.unary.op]p9:
8523 tok::TokenKind Op, Expr *Input) {
8524 return BuildUnaryOp(S, OpLoc, ConvertTokenKindToUnaryOpcode(Op), Input);
10673 if (BinaryOperator *Op = dyn_cast<BinaryOperator>(E)) {
10674 if (Op->getOpcode() != BO_Assign && Op->getOpcode() != BO_OrAssign)
10677 IsOrAssign = Op->getOpcode() == BO_OrAssign;
10681 = dyn_cast<ObjCMessageExpr>(Op->getRHS()->IgnoreParenCasts())) {
10685 if (isSelfExpr(Op->getLHS()) && Sel.getNameForSlot(0).startswith("init"))
10693 Loc = Op->getOperatorLoc();
10694 } else if (CXXOperatorCallExpr *Op = dyn_cast<CXXOperatorCallExpr>(E)) {
10695 if (Op->getOperator() != OO_Equal && Op->getOperator() != OO_PipeEqual)
10698 IsOrAssign = Op->getOperator() == OO_PipeEqual;
10699 Loc = Op->getOperatorLoc();