Lines Matching refs:Op
6104 /// for the operator Op that was used in an operator expression such
6105 /// as "x Op y". , Args/NumArgs provides the operator arguments, and
6108 void Sema::AddMemberOperatorCandidates(OverloadedOperatorKind Op,
6113 DeclarationName OpName = Context.DeclarationNames.getCXXOperatorName(Op);
6809 void addPlusPlusMinusMinusArithmeticOverloads(OverloadedOperatorKind Op) {
6813 for (unsigned Arith = (Op == OO_PlusPlus? 0 : 1);
7089 void addBinaryPlusOrMinusPointerOverloads(OverloadedOperatorKind Op) {
7107 if (Arg == 0 || Op == OO_Plus) {
7112 if (Op == OO_Minus) {
7209 void addBinaryBitwiseArithmeticOverloads(OverloadedOperatorKind Op) {
7219 QualType Result = (Op == OO_LessLess || Op == OO_GreaterGreater)
7658 /// on the operator @p Op and the arguments given. For example, if the
7662 Sema::AddBuiltinOperatorCandidates(OverloadedOperatorKind Op,
7683 (Op == OO_Exclaim ||
7684 Op == OO_AmpAmp ||
7685 Op == OO_PipePipe),
7700 !(Op == OO_Exclaim || Op == OO_AmpAmp || Op == OO_PipePipe))
7710 switch (Op) {
7739 OpBuilder.addBinaryPlusOrMinusPointerOverloads(Op);
7757 OpBuilder.addPlusPlusMinusMinusArithmeticOverloads(Op);
7779 OpBuilder.addBinaryBitwiseArithmeticOverloads(Op);
7789 OpBuilder.addBinaryBitwiseArithmeticOverloads(Op);
7802 OpBuilder.addAssignmentPointerOverloads(Op == OO_Equal);
7807 OpBuilder.addAssignmentArithmeticOverloads(Op == OO_Equal);
10021 DiagnoseTwoPhaseOperatorLookup(Sema &SemaRef, OverloadedOperatorKind Op,
10025 SemaRef.Context.DeclarationNames.getCXXOperatorName(Op);
10309 OverloadedOperatorKind Op = UnaryOperator::getOverloadedOperator(Opc);
10310 assert(Op != OO_None && "Invalid opcode for overloaded unary operator");
10311 DeclarationName OpName = Context.DeclarationNames.getCXXOperatorName(Op);
10347 return Owned(new (Context) CXXOperatorCallExpr(Context, Op, Fn, ArgsArray,
10360 AddMemberOperatorCandidates(Op, OpLoc, ArgsArray, CandidateSet);
10368 AddBuiltinOperatorCandidates(Op, OpLoc, ArgsArray, CandidateSet);
10419 new (Context) CXXOperatorCallExpr(Context, Op, FnExpr.take(), ArgsArray,
10445 if (DiagnoseTwoPhaseOperatorLookup(*this, Op, OpLoc, ArgsArray))
10505 OverloadedOperatorKind Op = BinaryOperator::getOverloadedOperator(Opc);
10506 DeclarationName OpName = Context.DeclarationNames.getCXXOperatorName(Op);
10540 return Owned(new (Context) CXXOperatorCallExpr(Context, Op, Fn, Args,
10576 AddMemberOperatorCandidates(Op, OpLoc, Args, CandidateSet);
10585 AddBuiltinOperatorCandidates(Op, OpLoc, Args, CandidateSet);
10653 new (Context) CXXOperatorCallExpr(Context, Op, FnExpr.take(),
10711 if (DiagnoseTwoPhaseOperatorLookup(*this, Op, OpLoc, Args))
10953 if (BinaryOperator *op = dyn_cast<BinaryOperator>(NakedMemExpr)) {
10954 assert(op->getType() == Context.BoundMemberTy);
10955 assert(op->getOpcode() == BO_PtrMemD || op->getOpcode() == BO_PtrMemI);
10958 op->getRHS()->getType()->castAs<MemberPointerType>()->getPointeeType();
10968 QualType objectType = op->getLHS()->getType();
10969 if (op->getOpcode() == BO_PtrMemI)
10989 op->getRHS()->getLocStart(),
10993 if (ConvertArgumentsForCall(call, op, 0, proto, Args, RParenLoc))
11638 // Check the argument types. This should almost always be a no-op, except