Lines Matching refs:RHSExpr

7841 bool Sema::DiagnoseConditionalForNull(const Expr *LHSExpr, const Expr *RHSExpr,  in DiagnoseConditionalForNull()  argument
7844 const Expr *NonPointerExpr = RHSExpr; in DiagnoseConditionalForNull()
7850 NullExpr = RHSExpr; in DiagnoseConditionalForNull()
8619 const Expr *RHSExpr) { in DiagnoseConditionalPrecedence() argument
8647 SourceRange(CondRHS->getBeginLoc(), RHSExpr->getEndLoc())); in DiagnoseConditionalPrecedence()
8706 Expr *RHSExpr) { in ActOnConditionalOp() argument
8713 ExprResult RHSResult = CorrectDelayedTyposInExpr(RHSExpr); in ActOnConditionalOp()
8728 RHSExpr = RHSResult.get(); in ActOnConditionalOp()
8749 && commonExpr->getValueKind() == RHSExpr->getValueKind() in ActOnConditionalOp()
8752 && RHSExpr->isOrdinaryOrBitFieldObject() in ActOnConditionalOp()
8753 && Context.hasSameType(commonExpr->getType(), RHSExpr->getType()))) { in ActOnConditionalOp()
8778 QualType LHSTy = LHSExpr->getType(), RHSTy = RHSExpr->getType(); in ActOnConditionalOp()
8781 ExprResult Cond = CondExpr, LHS = LHSExpr, RHS = RHSExpr; in ActOnConditionalOp()
9087 OpaqueValueExpr RHSExpr(Loc, RHSType, VK_PRValue); in CheckAssignmentConstraints() local
9088 ExprResult RHSPtr = &RHSExpr; in CheckAssignmentConstraints()
10260 ExprResult *RHSExpr = &RHS; in CheckVectorOperands() local
10261 *RHSExpr = ImpCastExprToType(RHSExpr->get(), LHSType, CK_BitCast); in CheckVectorOperands()
10565 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseArithmeticOnTwoVoidPointers() argument
10570 << RHSExpr->getSourceRange(); in diagnoseArithmeticOnTwoVoidPointers()
10701 Expr *LHSExpr, Expr *RHSExpr) { in checkArithmeticBinOpPointerOperands() argument
10703 bool isRHSPointer = RHSExpr->getType()->isAnyPointerType(); in checkArithmeticBinOpPointerOperands()
10708 if (isRHSPointer) RHSPointeeTy = RHSExpr->getType()->getPointeeType(); in checkArithmeticBinOpPointerOperands()
10715 << LHSExpr->getType() << RHSExpr->getType() << 1 /*arithmetic op*/ in checkArithmeticBinOpPointerOperands()
10716 << LHSExpr->getSourceRange() << RHSExpr->getSourceRange(); in checkArithmeticBinOpPointerOperands()
10726 else if (!isLHSVoidPtr) diagnoseArithmeticOnVoidPointer(S, Loc, RHSExpr); in checkArithmeticBinOpPointerOperands()
10727 else diagnoseArithmeticOnTwoVoidPointers(S, Loc, LHSExpr, RHSExpr); in checkArithmeticBinOpPointerOperands()
10737 RHSExpr); in checkArithmeticBinOpPointerOperands()
10738 else diagnoseArithmeticOnTwoFunctionPointers(S, Loc, LHSExpr, RHSExpr); in checkArithmeticBinOpPointerOperands()
10745 if (isRHSPointer && checkArithmeticIncompletePointerType(S, Loc, RHSExpr)) in checkArithmeticBinOpPointerOperands()
10754 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseStringPlusInt() argument
10756 Expr* IndexExpr = RHSExpr; in diagnoseStringPlusInt()
10758 StrExpr = dyn_cast<StringLiteral>(RHSExpr->IgnoreImpCasts()); in diagnoseStringPlusInt()
10767 SourceRange DiagRange(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in diagnoseStringPlusInt()
10772 if (IndexExpr == RHSExpr) { in diagnoseStringPlusInt()
10773 SourceLocation EndLoc = Self.getLocForEndOfToken(RHSExpr->getEndLoc()); in diagnoseStringPlusInt()
10784 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseStringPlusChar() argument
10787 dyn_cast<CharacterLiteral>(RHSExpr->IgnoreImpCasts()); in diagnoseStringPlusChar()
10791 StringRefExpr = RHSExpr; in diagnoseStringPlusChar()
10808 SourceRange DiagRange(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in diagnoseStringPlusChar()
10822 if (isa<CharacterLiteral>(RHSExpr->IgnoreImpCasts())) { in diagnoseStringPlusChar()
10823 SourceLocation EndLoc = Self.getLocForEndOfToken(RHSExpr->getEndLoc()); in diagnoseStringPlusChar()
10835 Expr *LHSExpr, Expr *RHSExpr) { in diagnosePointerIncompatibility() argument
10837 assert(RHSExpr->getType()->isAnyPointerType()); in diagnosePointerIncompatibility()
10839 << LHSExpr->getType() << RHSExpr->getType() << LHSExpr->getSourceRange() in diagnosePointerIncompatibility()
10840 << RHSExpr->getSourceRange(); in diagnosePointerIncompatibility()
13494 static void CheckIdentityFieldAssignment(Expr *LHSExpr, Expr *RHSExpr, in CheckIdentityFieldAssignment() argument
13503 if (LHSExpr->getExprLoc().isMacroID() || RHSExpr->getExprLoc().isMacroID()) in CheckIdentityFieldAssignment()
13508 MemberExpr *MR = dyn_cast<MemberExpr>(RHSExpr); in CheckIdentityFieldAssignment()
13529 ObjCIvarRefExpr *OR = dyn_cast<ObjCIvarRefExpr>(RHSExpr); in CheckIdentityFieldAssignment()
14411 static void DiagnoseSelfAssignment(Sema &S, Expr *LHSExpr, Expr *RHSExpr, in DiagnoseSelfAssignment() argument
14420 RHSExpr = RHSExpr->IgnoreParenImpCasts(); in DiagnoseSelfAssignment()
14422 const DeclRefExpr *RHSDeclRef = dyn_cast<DeclRefExpr>(RHSExpr); in DiagnoseSelfAssignment()
14442 << RHSExpr->getSourceRange(); in DiagnoseSelfAssignment()
14543 Expr *RHSExpr) { in CorrectDelayedTyposInBinOp() argument
14544 ExprResult LHS = LHSExpr, RHS = RHSExpr; in CorrectDelayedTyposInBinOp()
14591 Expr *LHSExpr, Expr *RHSExpr) { in CreateBuiltinBinOp() argument
14592 if (getLangOpts().CPlusPlus11 && isa<InitListExpr>(RHSExpr)) { in CreateBuiltinBinOp()
14600 RHSExpr->getBeginLoc(), RHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in CreateBuiltinBinOp()
14603 InitializationSequence InitSeq(*this, Entity, Kind, RHSExpr); in CreateBuiltinBinOp()
14604 ExprResult Init = InitSeq.Perform(*this, Entity, Kind, RHSExpr); in CreateBuiltinBinOp()
14607 RHSExpr = Init.get(); in CreateBuiltinBinOp()
14610 ExprResult LHS = LHSExpr, RHS = RHSExpr; in CreateBuiltinBinOp()
14619 std::tie(LHS, RHS) = CorrectDelayedTyposInBinOp(*this, Opc, LHSExpr, RHSExpr); in CreateBuiltinBinOp()
14625 QualType RHSTy = RHSExpr->getType(); in CreateBuiltinBinOp()
14629 SourceRange SR(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in CreateBuiltinBinOp()
14649 checkTypeSupport(RHSExpr->getType(), OpLoc, /*ValueDecl*/ nullptr); in CreateBuiltinBinOp()
14881 Expr *RHSExpr) { in DiagnoseBitwisePrecedence() argument
14883 BinaryOperator *RHSBO = dyn_cast<BinaryOperator>(RHSExpr); in DiagnoseBitwisePrecedence()
14900 : SourceRange(OpLoc, RHSExpr->getEndLoc()); in DiagnoseBitwisePrecedence()
14904 ? SourceRange(LHSBO->getRHS()->getBeginLoc(), RHSExpr->getEndLoc()) in DiagnoseBitwisePrecedence()
14911 (isLeftComp ? LHSExpr : RHSExpr)->getSourceRange()); in DiagnoseBitwisePrecedence()
14935 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseLogicalAndInLogicalOrLHS() argument
14956 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseLogicalAndInLogicalOrRHS() argument
14957 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(RHSExpr)) { in DiagnoseLogicalAndInLogicalOrRHS()
15000 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseShiftCompare() argument
15014 << LHSExpr->getSourceRange() << RHSExpr->getSourceRange() in DiagnoseShiftCompare()
15022 SourceRange(OCE->getArg(1)->getBeginLoc(), RHSExpr->getEndLoc())); in DiagnoseShiftCompare()
15029 Expr *RHSExpr){ in DiagnoseBinOpPrecedence() argument
15032 DiagnoseBitwisePrecedence(Self, Opc, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
15038 DiagnoseBitwiseOpInBitwiseOp(Self, Opc, OpLoc, RHSExpr); in DiagnoseBinOpPrecedence()
15044 DiagnoseLogicalAndInLogicalOrLHS(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
15045 DiagnoseLogicalAndInLogicalOrRHS(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
15052 DiagnoseAdditionInShift(Self, OpLoc, RHSExpr, Shift); in DiagnoseBinOpPrecedence()
15058 DiagnoseShiftCompare(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
15063 Expr *LHSExpr, Expr *RHSExpr) { in ActOnBinOp() argument
15066 assert(RHSExpr && "ActOnBinOp(): missing right expression"); in ActOnBinOp()
15069 DiagnoseBinOpPrecedence(*this, Opc, TokLoc, LHSExpr, RHSExpr); in ActOnBinOp()
15071 return BuildBinOp(S, TokLoc, Opc, LHSExpr, RHSExpr); in ActOnBinOp()
15126 Expr *LHSExpr, Expr *RHSExpr) { in BuildBinOp() argument
15128 std::tie(LHS, RHS) = CorrectDelayedTyposInBinOp(*this, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15132 RHSExpr = RHS.get(); in BuildBinOp()
15145 return PseudoObject().checkAssignment(S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15154 ExprResult resolvedRHS = CheckPlaceholderExpr(RHSExpr); in BuildBinOp()
15156 RHSExpr = resolvedRHS.get(); in BuildBinOp()
15158 if (RHSExpr->isTypeDependent() || in BuildBinOp()
15159 RHSExpr->getType()->isOverloadableType()) in BuildBinOp()
15160 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15191 if (const BuiltinType *pty = RHSExpr->getType()->getAsPlaceholderType()) { in BuildBinOp()
15196 (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent() || in BuildBinOp()
15198 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15200 return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15206 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15208 ExprResult resolvedRHS = CheckPlaceholderExpr(RHSExpr); in BuildBinOp()
15210 RHSExpr = resolvedRHS.get(); in BuildBinOp()
15216 if (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent() || in BuildBinOp()
15218 RHSExpr->getType()->isOverloadableType()) in BuildBinOp()
15219 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15223 (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent())) { in BuildBinOp()
15225 assert((LHSExpr->containsErrors() || RHSExpr->containsErrors()) && in BuildBinOp()
15232 Context, LHSExpr, RHSExpr, Opc, in BuildBinOp()
15252 ResultType = RHSExpr->getType(); in BuildBinOp()
15258 return BinaryOperator::Create(Context, LHSExpr, RHSExpr, Opc, ResultType, in BuildBinOp()
15264 return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15896 Expr *LHSExpr, Expr *RHSExpr, in ActOnChooseExpr() argument
15898 assert((CondExpr && LHSExpr && RHSExpr) && "Missing type argument(s)"); in ActOnChooseExpr()
15917 Expr *ActiveExpr = CondIsTrue ? LHSExpr : RHSExpr; in ActOnChooseExpr()
15924 return new (Context) ChooseExpr(BuiltinLoc, CondExpr, LHSExpr, RHSExpr, in ActOnChooseExpr()