Lines Matching refs:RHSExpr

8692 bool Sema::DiagnoseConditionalForNull(const Expr *LHSExpr, const Expr *RHSExpr,  in DiagnoseConditionalForNull()  argument
8695 const Expr *NonPointerExpr = RHSExpr; in DiagnoseConditionalForNull()
8701 NullExpr = RHSExpr; in DiagnoseConditionalForNull()
9612 const Expr *RHSExpr) { in DiagnoseConditionalPrecedence() argument
9640 SourceRange(CondRHS->getBeginLoc(), RHSExpr->getEndLoc())); in DiagnoseConditionalPrecedence()
9701 Expr *RHSExpr) { in ActOnConditionalOp() argument
9708 ExprResult RHSResult = CorrectDelayedTyposInExpr(RHSExpr); in ActOnConditionalOp()
9723 RHSExpr = RHSResult.get(); in ActOnConditionalOp()
9744 && commonExpr->getValueKind() == RHSExpr->getValueKind() in ActOnConditionalOp()
9747 && RHSExpr->isOrdinaryOrBitFieldObject() in ActOnConditionalOp()
9748 && Context.hasSameType(commonExpr->getType(), RHSExpr->getType()))) { in ActOnConditionalOp()
9773 QualType LHSTy = LHSExpr->getType(), RHSTy = RHSExpr->getType(); in ActOnConditionalOp()
9776 ExprResult Cond = CondExpr, LHS = LHSExpr, RHS = RHSExpr; in ActOnConditionalOp()
10083 OpaqueValueExpr RHSExpr(Loc, RHSType, VK_PRValue); in CheckAssignmentConstraints() local
10084 ExprResult RHSPtr = &RHSExpr; in CheckAssignmentConstraints()
11258 ExprResult *RHSExpr = &RHS; in CheckVectorOperands() local
11259 *RHSExpr = ImpCastExprToType(RHSExpr->get(), LHSType, CK_BitCast); in CheckVectorOperands()
11563 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseArithmeticOnTwoVoidPointers() argument
11568 << RHSExpr->getSourceRange(); in diagnoseArithmeticOnTwoVoidPointers()
11699 Expr *LHSExpr, Expr *RHSExpr) { in checkArithmeticBinOpPointerOperands() argument
11701 bool isRHSPointer = RHSExpr->getType()->isAnyPointerType(); in checkArithmeticBinOpPointerOperands()
11706 if (isRHSPointer) RHSPointeeTy = RHSExpr->getType()->getPointeeType(); in checkArithmeticBinOpPointerOperands()
11713 << LHSExpr->getType() << RHSExpr->getType() << 1 /*arithmetic op*/ in checkArithmeticBinOpPointerOperands()
11714 << LHSExpr->getSourceRange() << RHSExpr->getSourceRange(); in checkArithmeticBinOpPointerOperands()
11724 else if (!isLHSVoidPtr) diagnoseArithmeticOnVoidPointer(S, Loc, RHSExpr); in checkArithmeticBinOpPointerOperands()
11725 else diagnoseArithmeticOnTwoVoidPointers(S, Loc, LHSExpr, RHSExpr); in checkArithmeticBinOpPointerOperands()
11735 RHSExpr); in checkArithmeticBinOpPointerOperands()
11736 else diagnoseArithmeticOnTwoFunctionPointers(S, Loc, LHSExpr, RHSExpr); in checkArithmeticBinOpPointerOperands()
11743 if (isRHSPointer && checkArithmeticIncompletePointerType(S, Loc, RHSExpr)) in checkArithmeticBinOpPointerOperands()
11752 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseStringPlusInt() argument
11754 Expr* IndexExpr = RHSExpr; in diagnoseStringPlusInt()
11756 StrExpr = dyn_cast<StringLiteral>(RHSExpr->IgnoreImpCasts()); in diagnoseStringPlusInt()
11765 SourceRange DiagRange(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in diagnoseStringPlusInt()
11770 if (IndexExpr == RHSExpr) { in diagnoseStringPlusInt()
11771 SourceLocation EndLoc = Self.getLocForEndOfToken(RHSExpr->getEndLoc()); in diagnoseStringPlusInt()
11782 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseStringPlusChar() argument
11785 dyn_cast<CharacterLiteral>(RHSExpr->IgnoreImpCasts()); in diagnoseStringPlusChar()
11789 StringRefExpr = RHSExpr; in diagnoseStringPlusChar()
11806 SourceRange DiagRange(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in diagnoseStringPlusChar()
11820 if (isa<CharacterLiteral>(RHSExpr->IgnoreImpCasts())) { in diagnoseStringPlusChar()
11821 SourceLocation EndLoc = Self.getLocForEndOfToken(RHSExpr->getEndLoc()); in diagnoseStringPlusChar()
11833 Expr *LHSExpr, Expr *RHSExpr) { in diagnosePointerIncompatibility() argument
11835 assert(RHSExpr->getType()->isAnyPointerType()); in diagnosePointerIncompatibility()
11837 << LHSExpr->getType() << RHSExpr->getType() << LHSExpr->getSourceRange() in diagnosePointerIncompatibility()
11838 << RHSExpr->getSourceRange(); in diagnosePointerIncompatibility()
14522 static void CheckIdentityFieldAssignment(Expr *LHSExpr, Expr *RHSExpr, in CheckIdentityFieldAssignment() argument
14531 if (LHSExpr->getExprLoc().isMacroID() || RHSExpr->getExprLoc().isMacroID()) in CheckIdentityFieldAssignment()
14536 MemberExpr *MR = dyn_cast<MemberExpr>(RHSExpr); in CheckIdentityFieldAssignment()
14557 ObjCIvarRefExpr *OR = dyn_cast<ObjCIvarRefExpr>(RHSExpr); in CheckIdentityFieldAssignment()
15412 static void DiagnoseSelfAssignment(Sema &S, Expr *LHSExpr, Expr *RHSExpr, in DiagnoseSelfAssignment() argument
15421 RHSExpr = RHSExpr->IgnoreParenImpCasts(); in DiagnoseSelfAssignment()
15423 const DeclRefExpr *RHSDeclRef = dyn_cast<DeclRefExpr>(RHSExpr); in DiagnoseSelfAssignment()
15443 << RHSExpr->getSourceRange(); in DiagnoseSelfAssignment()
15544 Expr *RHSExpr) { in CorrectDelayedTyposInBinOp() argument
15545 ExprResult LHS = LHSExpr, RHS = RHSExpr; in CorrectDelayedTyposInBinOp()
15595 Expr *LHSExpr, Expr *RHSExpr) { in CreateBuiltinBinOp() argument
15596 if (getLangOpts().CPlusPlus11 && isa<InitListExpr>(RHSExpr)) { in CreateBuiltinBinOp()
15604 RHSExpr->getBeginLoc(), RHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in CreateBuiltinBinOp()
15607 InitializationSequence InitSeq(*this, Entity, Kind, RHSExpr); in CreateBuiltinBinOp()
15608 ExprResult Init = InitSeq.Perform(*this, Entity, Kind, RHSExpr); in CreateBuiltinBinOp()
15611 RHSExpr = Init.get(); in CreateBuiltinBinOp()
15614 ExprResult LHS = LHSExpr, RHS = RHSExpr; in CreateBuiltinBinOp()
15623 std::tie(LHS, RHS) = CorrectDelayedTyposInBinOp(*this, Opc, LHSExpr, RHSExpr); in CreateBuiltinBinOp()
15629 QualType RHSTy = RHSExpr->getType(); in CreateBuiltinBinOp()
15633 SourceRange SR(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in CreateBuiltinBinOp()
15653 checkTypeSupport(RHSExpr->getType(), OpLoc, /*ValueDecl*/ nullptr); in CreateBuiltinBinOp()
15880 Expr *RHSExpr) { in DiagnoseBitwisePrecedence() argument
15882 BinaryOperator *RHSBO = dyn_cast<BinaryOperator>(RHSExpr); in DiagnoseBitwisePrecedence()
15899 : SourceRange(OpLoc, RHSExpr->getEndLoc()); in DiagnoseBitwisePrecedence()
15903 ? SourceRange(LHSBO->getRHS()->getBeginLoc(), RHSExpr->getEndLoc()) in DiagnoseBitwisePrecedence()
15910 (isLeftComp ? LHSExpr : RHSExpr)->getSourceRange()); in DiagnoseBitwisePrecedence()
15934 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseLogicalAndInLogicalOrLHS() argument
15955 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseLogicalAndInLogicalOrRHS() argument
15956 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(RHSExpr)) { in DiagnoseLogicalAndInLogicalOrRHS()
15999 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseShiftCompare() argument
16013 << LHSExpr->getSourceRange() << RHSExpr->getSourceRange() in DiagnoseShiftCompare()
16021 SourceRange(OCE->getArg(1)->getBeginLoc(), RHSExpr->getEndLoc())); in DiagnoseShiftCompare()
16028 Expr *RHSExpr){ in DiagnoseBinOpPrecedence() argument
16031 DiagnoseBitwisePrecedence(Self, Opc, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
16037 DiagnoseBitwiseOpInBitwiseOp(Self, Opc, OpLoc, RHSExpr); in DiagnoseBinOpPrecedence()
16043 DiagnoseLogicalAndInLogicalOrLHS(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
16044 DiagnoseLogicalAndInLogicalOrRHS(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
16051 DiagnoseAdditionInShift(Self, OpLoc, RHSExpr, Shift); in DiagnoseBinOpPrecedence()
16057 DiagnoseShiftCompare(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
16063 Expr *LHSExpr, Expr *RHSExpr) { in ActOnBinOp() argument
16066 assert(RHSExpr && "ActOnBinOp(): missing right expression"); in ActOnBinOp()
16069 DiagnoseBinOpPrecedence(*this, Opc, TokLoc, LHSExpr, RHSExpr); in ActOnBinOp()
16071 return BuildBinOp(S, TokLoc, Opc, LHSExpr, RHSExpr); in ActOnBinOp()
16126 Expr *LHSExpr, Expr *RHSExpr) { in BuildBinOp() argument
16128 std::tie(LHS, RHS) = CorrectDelayedTyposInBinOp(*this, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16132 RHSExpr = RHS.get(); in BuildBinOp()
16145 return checkPseudoObjectAssignment(S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16154 ExprResult resolvedRHS = CheckPlaceholderExpr(RHSExpr); in BuildBinOp()
16156 RHSExpr = resolvedRHS.get(); in BuildBinOp()
16158 if (RHSExpr->isTypeDependent() || in BuildBinOp()
16159 RHSExpr->getType()->isOverloadableType()) in BuildBinOp()
16160 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16191 if (const BuiltinType *pty = RHSExpr->getType()->getAsPlaceholderType()) { in BuildBinOp()
16196 (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent() || in BuildBinOp()
16198 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16200 return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16206 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16208 ExprResult resolvedRHS = CheckPlaceholderExpr(RHSExpr); in BuildBinOp()
16210 RHSExpr = resolvedRHS.get(); in BuildBinOp()
16216 if (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent()) in BuildBinOp()
16217 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16222 RHSExpr->getType()->isOverloadableType()) in BuildBinOp()
16223 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16227 (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent())) { in BuildBinOp()
16229 assert((LHSExpr->containsErrors() || RHSExpr->containsErrors()) && in BuildBinOp()
16236 Context, LHSExpr, RHSExpr, Opc, in BuildBinOp()
16256 ResultType = RHSExpr->getType(); in BuildBinOp()
16262 return BinaryOperator::Create(Context, LHSExpr, RHSExpr, Opc, ResultType, in BuildBinOp()
16268 return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16902 Expr *LHSExpr, Expr *RHSExpr, in ActOnChooseExpr() argument
16904 assert((CondExpr && LHSExpr && RHSExpr) && "Missing type argument(s)"); in ActOnChooseExpr()
16923 Expr *ActiveExpr = CondIsTrue ? LHSExpr : RHSExpr; in ActOnChooseExpr()
16930 return new (Context) ChooseExpr(BuiltinLoc, CondExpr, LHSExpr, RHSExpr, in ActOnChooseExpr()