Lines Matching refs:RHSExpr

7783 bool Sema::DiagnoseConditionalForNull(Expr *LHSExpr, Expr *RHSExpr,  in DiagnoseConditionalForNull()  argument
7786 Expr *NonPointerExpr = RHSExpr; in DiagnoseConditionalForNull()
7792 NullExpr = RHSExpr; in DiagnoseConditionalForNull()
7844 Expr *RHSExpr = RHS.get(); in checkConditionalVoidType() local
7847 S.Diag(RHSExpr->getBeginLoc(), diag::ext_typecheck_cond_one_void) in checkConditionalVoidType()
7848 << RHSExpr->getSourceRange(); in checkConditionalVoidType()
7849 if (!RHSExpr->getType()->isVoidType()) in checkConditionalVoidType()
8689 Expr *RHSExpr) { in DiagnoseConditionalPrecedence() argument
8717 SourceRange(CondRHS->getBeginLoc(), RHSExpr->getEndLoc())); in DiagnoseConditionalPrecedence()
8778 Expr *RHSExpr) { in ActOnConditionalOp() argument
8785 ExprResult RHSResult = CorrectDelayedTyposInExpr(RHSExpr); in ActOnConditionalOp()
8800 RHSExpr = RHSResult.get(); in ActOnConditionalOp()
8821 && commonExpr->getValueKind() == RHSExpr->getValueKind() in ActOnConditionalOp()
8824 && RHSExpr->isOrdinaryOrBitFieldObject() in ActOnConditionalOp()
8825 && Context.hasSameType(commonExpr->getType(), RHSExpr->getType()))) { in ActOnConditionalOp()
8850 QualType LHSTy = LHSExpr->getType(), RHSTy = RHSExpr->getType(); in ActOnConditionalOp()
8853 ExprResult Cond = CondExpr, LHS = LHSExpr, RHS = RHSExpr; in ActOnConditionalOp()
9135 OpaqueValueExpr RHSExpr(Loc, RHSType, VK_PRValue); in CheckAssignmentConstraints() local
9136 ExprResult RHSPtr = &RHSExpr; in CheckAssignmentConstraints()
10189 ExprResult *RHSExpr = &RHS; in CheckVectorOperands() local
10190 *RHSExpr = ImpCastExprToType(RHSExpr->get(), LHSType, CK_BitCast); in CheckVectorOperands()
10402 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseArithmeticOnTwoVoidPointers() argument
10407 << RHSExpr->getSourceRange(); in diagnoseArithmeticOnTwoVoidPointers()
10536 Expr *LHSExpr, Expr *RHSExpr) { in checkArithmeticBinOpPointerOperands() argument
10538 bool isRHSPointer = RHSExpr->getType()->isAnyPointerType(); in checkArithmeticBinOpPointerOperands()
10543 if (isRHSPointer) RHSPointeeTy = RHSExpr->getType()->getPointeeType(); in checkArithmeticBinOpPointerOperands()
10550 << LHSExpr->getType() << RHSExpr->getType() << 1 /*arithmetic op*/ in checkArithmeticBinOpPointerOperands()
10551 << LHSExpr->getSourceRange() << RHSExpr->getSourceRange(); in checkArithmeticBinOpPointerOperands()
10561 else if (!isLHSVoidPtr) diagnoseArithmeticOnVoidPointer(S, Loc, RHSExpr); in checkArithmeticBinOpPointerOperands()
10562 else diagnoseArithmeticOnTwoVoidPointers(S, Loc, LHSExpr, RHSExpr); in checkArithmeticBinOpPointerOperands()
10572 RHSExpr); in checkArithmeticBinOpPointerOperands()
10573 else diagnoseArithmeticOnTwoFunctionPointers(S, Loc, LHSExpr, RHSExpr); in checkArithmeticBinOpPointerOperands()
10580 if (isRHSPointer && checkArithmeticIncompletePointerType(S, Loc, RHSExpr)) in checkArithmeticBinOpPointerOperands()
10589 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseStringPlusInt() argument
10591 Expr* IndexExpr = RHSExpr; in diagnoseStringPlusInt()
10593 StrExpr = dyn_cast<StringLiteral>(RHSExpr->IgnoreImpCasts()); in diagnoseStringPlusInt()
10602 SourceRange DiagRange(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in diagnoseStringPlusInt()
10607 if (IndexExpr == RHSExpr) { in diagnoseStringPlusInt()
10608 SourceLocation EndLoc = Self.getLocForEndOfToken(RHSExpr->getEndLoc()); in diagnoseStringPlusInt()
10619 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseStringPlusChar() argument
10622 dyn_cast<CharacterLiteral>(RHSExpr->IgnoreImpCasts()); in diagnoseStringPlusChar()
10626 StringRefExpr = RHSExpr; in diagnoseStringPlusChar()
10643 SourceRange DiagRange(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in diagnoseStringPlusChar()
10657 if (isa<CharacterLiteral>(RHSExpr->IgnoreImpCasts())) { in diagnoseStringPlusChar()
10658 SourceLocation EndLoc = Self.getLocForEndOfToken(RHSExpr->getEndLoc()); in diagnoseStringPlusChar()
10670 Expr *LHSExpr, Expr *RHSExpr) { in diagnosePointerIncompatibility() argument
10672 assert(RHSExpr->getType()->isAnyPointerType()); in diagnosePointerIncompatibility()
10674 << LHSExpr->getType() << RHSExpr->getType() << LHSExpr->getSourceRange() in diagnosePointerIncompatibility()
10675 << RHSExpr->getSourceRange(); in diagnosePointerIncompatibility()
13077 static void CheckIdentityFieldAssignment(Expr *LHSExpr, Expr *RHSExpr, in CheckIdentityFieldAssignment() argument
13086 if (LHSExpr->getExprLoc().isMacroID() || RHSExpr->getExprLoc().isMacroID()) in CheckIdentityFieldAssignment()
13091 MemberExpr *MR = dyn_cast<MemberExpr>(RHSExpr); in CheckIdentityFieldAssignment()
13112 ObjCIvarRefExpr *OR = dyn_cast<ObjCIvarRefExpr>(RHSExpr); in CheckIdentityFieldAssignment()
13901 static void DiagnoseSelfAssignment(Sema &S, Expr *LHSExpr, Expr *RHSExpr, in DiagnoseSelfAssignment() argument
13910 RHSExpr = RHSExpr->IgnoreParenImpCasts(); in DiagnoseSelfAssignment()
13912 const DeclRefExpr *RHSDeclRef = dyn_cast<DeclRefExpr>(RHSExpr); in DiagnoseSelfAssignment()
13932 << RHSExpr->getSourceRange(); in DiagnoseSelfAssignment()
14027 Expr *RHSExpr) { in CorrectDelayedTyposInBinOp() argument
14028 ExprResult LHS = LHSExpr, RHS = RHSExpr; in CorrectDelayedTyposInBinOp()
14078 Expr *LHSExpr, Expr *RHSExpr) { in CreateBuiltinBinOp() argument
14079 if (getLangOpts().CPlusPlus11 && isa<InitListExpr>(RHSExpr)) { in CreateBuiltinBinOp()
14087 RHSExpr->getBeginLoc(), RHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in CreateBuiltinBinOp()
14090 InitializationSequence InitSeq(*this, Entity, Kind, RHSExpr); in CreateBuiltinBinOp()
14091 ExprResult Init = InitSeq.Perform(*this, Entity, Kind, RHSExpr); in CreateBuiltinBinOp()
14094 RHSExpr = Init.get(); in CreateBuiltinBinOp()
14097 ExprResult LHS = LHSExpr, RHS = RHSExpr; in CreateBuiltinBinOp()
14106 std::tie(LHS, RHS) = CorrectDelayedTyposInBinOp(*this, Opc, LHSExpr, RHSExpr); in CreateBuiltinBinOp()
14112 QualType RHSTy = RHSExpr->getType(); in CreateBuiltinBinOp()
14116 SourceRange SR(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in CreateBuiltinBinOp()
14354 Expr *RHSExpr) { in DiagnoseBitwisePrecedence() argument
14356 BinaryOperator *RHSBO = dyn_cast<BinaryOperator>(RHSExpr); in DiagnoseBitwisePrecedence()
14373 : SourceRange(OpLoc, RHSExpr->getEndLoc()); in DiagnoseBitwisePrecedence()
14377 ? SourceRange(LHSBO->getRHS()->getBeginLoc(), RHSExpr->getEndLoc()) in DiagnoseBitwisePrecedence()
14384 (isLeftComp ? LHSExpr : RHSExpr)->getSourceRange()); in DiagnoseBitwisePrecedence()
14424 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseLogicalAndInLogicalOrLHS() argument
14428 if (EvaluatesAsFalse(S, RHSExpr)) in DiagnoseLogicalAndInLogicalOrLHS()
14446 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseLogicalAndInLogicalOrRHS() argument
14447 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(RHSExpr)) { in DiagnoseLogicalAndInLogicalOrRHS()
14492 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseShiftCompare() argument
14506 << LHSExpr->getSourceRange() << RHSExpr->getSourceRange() in DiagnoseShiftCompare()
14514 SourceRange(OCE->getArg(1)->getBeginLoc(), RHSExpr->getEndLoc())); in DiagnoseShiftCompare()
14521 Expr *RHSExpr){ in DiagnoseBinOpPrecedence() argument
14524 DiagnoseBitwisePrecedence(Self, Opc, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
14530 DiagnoseBitwiseOpInBitwiseOp(Self, Opc, OpLoc, RHSExpr); in DiagnoseBinOpPrecedence()
14536 DiagnoseLogicalAndInLogicalOrLHS(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
14537 DiagnoseLogicalAndInLogicalOrRHS(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
14544 DiagnoseAdditionInShift(Self, OpLoc, RHSExpr, Shift); in DiagnoseBinOpPrecedence()
14550 DiagnoseShiftCompare(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
14556 Expr *LHSExpr, Expr *RHSExpr) { in ActOnBinOp() argument
14559 assert(RHSExpr && "ActOnBinOp(): missing right expression"); in ActOnBinOp()
14562 DiagnoseBinOpPrecedence(*this, Opc, TokLoc, LHSExpr, RHSExpr); in ActOnBinOp()
14564 return BuildBinOp(S, TokLoc, Opc, LHSExpr, RHSExpr); in ActOnBinOp()
14610 Expr *LHSExpr, Expr *RHSExpr) { in BuildBinOp() argument
14612 std::tie(LHS, RHS) = CorrectDelayedTyposInBinOp(*this, Opc, LHSExpr, RHSExpr); in BuildBinOp()
14616 RHSExpr = RHS.get(); in BuildBinOp()
14629 return checkPseudoObjectAssignment(S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
14638 ExprResult resolvedRHS = CheckPlaceholderExpr(RHSExpr); in BuildBinOp()
14640 RHSExpr = resolvedRHS.get(); in BuildBinOp()
14642 if (RHSExpr->isTypeDependent() || in BuildBinOp()
14643 RHSExpr->getType()->isOverloadableType()) in BuildBinOp()
14644 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
14675 if (const BuiltinType *pty = RHSExpr->getType()->getAsPlaceholderType()) { in BuildBinOp()
14680 (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent() || in BuildBinOp()
14682 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
14684 return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
14690 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
14692 ExprResult resolvedRHS = CheckPlaceholderExpr(RHSExpr); in BuildBinOp()
14694 RHSExpr = resolvedRHS.get(); in BuildBinOp()
14700 if (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent()) in BuildBinOp()
14701 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
14706 RHSExpr->getType()->isOverloadableType()) in BuildBinOp()
14707 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
14711 (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent())) { in BuildBinOp()
14713 assert((LHSExpr->containsErrors() || RHSExpr->containsErrors()) && in BuildBinOp()
14720 Context, LHSExpr, RHSExpr, Opc, in BuildBinOp()
14740 ResultType = RHSExpr->getType(); in BuildBinOp()
14746 return BinaryOperator::Create(Context, LHSExpr, RHSExpr, Opc, ResultType, in BuildBinOp()
14752 return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15357 Expr *LHSExpr, Expr *RHSExpr, in ActOnChooseExpr() argument
15359 assert((CondExpr && LHSExpr && RHSExpr) && "Missing type argument(s)"); in ActOnChooseExpr()
15378 Expr *ActiveExpr = CondIsTrue ? LHSExpr : RHSExpr; in ActOnChooseExpr()
15385 return new (Context) ChooseExpr(BuiltinLoc, CondExpr, LHSExpr, RHSExpr, in ActOnChooseExpr()