Lines Matching refs:RHSExpr

8111 bool Sema::DiagnoseConditionalForNull(Expr *LHSExpr, Expr *RHSExpr,  in DiagnoseConditionalForNull()  argument
8114 Expr *NonPointerExpr = RHSExpr; in DiagnoseConditionalForNull()
8120 NullExpr = RHSExpr; in DiagnoseConditionalForNull()
8172 Expr *RHSExpr = RHS.get(); in checkConditionalVoidType() local
8175 S.Diag(RHSExpr->getBeginLoc(), diag::ext_typecheck_cond_one_void) in checkConditionalVoidType()
8176 << RHSExpr->getSourceRange(); in checkConditionalVoidType()
8177 if (!RHSExpr->getType()->isVoidType()) in checkConditionalVoidType()
9026 Expr *RHSExpr) { in DiagnoseConditionalPrecedence() argument
9054 SourceRange(CondRHS->getBeginLoc(), RHSExpr->getEndLoc())); in DiagnoseConditionalPrecedence()
9115 Expr *RHSExpr) { in ActOnConditionalOp() argument
9122 ExprResult RHSResult = CorrectDelayedTyposInExpr(RHSExpr); in ActOnConditionalOp()
9137 RHSExpr = RHSResult.get(); in ActOnConditionalOp()
9158 && commonExpr->getValueKind() == RHSExpr->getValueKind() in ActOnConditionalOp()
9161 && RHSExpr->isOrdinaryOrBitFieldObject() in ActOnConditionalOp()
9162 && Context.hasSameType(commonExpr->getType(), RHSExpr->getType()))) { in ActOnConditionalOp()
9187 QualType LHSTy = LHSExpr->getType(), RHSTy = RHSExpr->getType(); in ActOnConditionalOp()
9190 ExprResult Cond = CondExpr, LHS = LHSExpr, RHS = RHSExpr; in ActOnConditionalOp()
9472 OpaqueValueExpr RHSExpr(Loc, RHSType, VK_PRValue); in CheckAssignmentConstraints() local
9473 ExprResult RHSPtr = &RHSExpr; in CheckAssignmentConstraints()
10563 ExprResult *RHSExpr = &RHS; in CheckVectorOperands() local
10564 *RHSExpr = ImpCastExprToType(RHSExpr->get(), LHSType, CK_BitCast); in CheckVectorOperands()
10868 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseArithmeticOnTwoVoidPointers() argument
10873 << RHSExpr->getSourceRange(); in diagnoseArithmeticOnTwoVoidPointers()
11004 Expr *LHSExpr, Expr *RHSExpr) { in checkArithmeticBinOpPointerOperands() argument
11006 bool isRHSPointer = RHSExpr->getType()->isAnyPointerType(); in checkArithmeticBinOpPointerOperands()
11011 if (isRHSPointer) RHSPointeeTy = RHSExpr->getType()->getPointeeType(); in checkArithmeticBinOpPointerOperands()
11018 << LHSExpr->getType() << RHSExpr->getType() << 1 /*arithmetic op*/ in checkArithmeticBinOpPointerOperands()
11019 << LHSExpr->getSourceRange() << RHSExpr->getSourceRange(); in checkArithmeticBinOpPointerOperands()
11029 else if (!isLHSVoidPtr) diagnoseArithmeticOnVoidPointer(S, Loc, RHSExpr); in checkArithmeticBinOpPointerOperands()
11030 else diagnoseArithmeticOnTwoVoidPointers(S, Loc, LHSExpr, RHSExpr); in checkArithmeticBinOpPointerOperands()
11040 RHSExpr); in checkArithmeticBinOpPointerOperands()
11041 else diagnoseArithmeticOnTwoFunctionPointers(S, Loc, LHSExpr, RHSExpr); in checkArithmeticBinOpPointerOperands()
11048 if (isRHSPointer && checkArithmeticIncompletePointerType(S, Loc, RHSExpr)) in checkArithmeticBinOpPointerOperands()
11057 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseStringPlusInt() argument
11059 Expr* IndexExpr = RHSExpr; in diagnoseStringPlusInt()
11061 StrExpr = dyn_cast<StringLiteral>(RHSExpr->IgnoreImpCasts()); in diagnoseStringPlusInt()
11070 SourceRange DiagRange(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in diagnoseStringPlusInt()
11075 if (IndexExpr == RHSExpr) { in diagnoseStringPlusInt()
11076 SourceLocation EndLoc = Self.getLocForEndOfToken(RHSExpr->getEndLoc()); in diagnoseStringPlusInt()
11087 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseStringPlusChar() argument
11090 dyn_cast<CharacterLiteral>(RHSExpr->IgnoreImpCasts()); in diagnoseStringPlusChar()
11094 StringRefExpr = RHSExpr; in diagnoseStringPlusChar()
11111 SourceRange DiagRange(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in diagnoseStringPlusChar()
11125 if (isa<CharacterLiteral>(RHSExpr->IgnoreImpCasts())) { in diagnoseStringPlusChar()
11126 SourceLocation EndLoc = Self.getLocForEndOfToken(RHSExpr->getEndLoc()); in diagnoseStringPlusChar()
11138 Expr *LHSExpr, Expr *RHSExpr) { in diagnosePointerIncompatibility() argument
11140 assert(RHSExpr->getType()->isAnyPointerType()); in diagnosePointerIncompatibility()
11142 << LHSExpr->getType() << RHSExpr->getType() << LHSExpr->getSourceRange() in diagnosePointerIncompatibility()
11143 << RHSExpr->getSourceRange(); in diagnosePointerIncompatibility()
13780 static void CheckIdentityFieldAssignment(Expr *LHSExpr, Expr *RHSExpr, in CheckIdentityFieldAssignment() argument
13789 if (LHSExpr->getExprLoc().isMacroID() || RHSExpr->getExprLoc().isMacroID()) in CheckIdentityFieldAssignment()
13794 MemberExpr *MR = dyn_cast<MemberExpr>(RHSExpr); in CheckIdentityFieldAssignment()
13815 ObjCIvarRefExpr *OR = dyn_cast<ObjCIvarRefExpr>(RHSExpr); in CheckIdentityFieldAssignment()
14646 static void DiagnoseSelfAssignment(Sema &S, Expr *LHSExpr, Expr *RHSExpr, in DiagnoseSelfAssignment() argument
14655 RHSExpr = RHSExpr->IgnoreParenImpCasts(); in DiagnoseSelfAssignment()
14657 const DeclRefExpr *RHSDeclRef = dyn_cast<DeclRefExpr>(RHSExpr); in DiagnoseSelfAssignment()
14677 << RHSExpr->getSourceRange(); in DiagnoseSelfAssignment()
14778 Expr *RHSExpr) { in CorrectDelayedTyposInBinOp() argument
14779 ExprResult LHS = LHSExpr, RHS = RHSExpr; in CorrectDelayedTyposInBinOp()
14829 Expr *LHSExpr, Expr *RHSExpr) { in CreateBuiltinBinOp() argument
14830 if (getLangOpts().CPlusPlus11 && isa<InitListExpr>(RHSExpr)) { in CreateBuiltinBinOp()
14838 RHSExpr->getBeginLoc(), RHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in CreateBuiltinBinOp()
14841 InitializationSequence InitSeq(*this, Entity, Kind, RHSExpr); in CreateBuiltinBinOp()
14842 ExprResult Init = InitSeq.Perform(*this, Entity, Kind, RHSExpr); in CreateBuiltinBinOp()
14845 RHSExpr = Init.get(); in CreateBuiltinBinOp()
14848 ExprResult LHS = LHSExpr, RHS = RHSExpr; in CreateBuiltinBinOp()
14857 std::tie(LHS, RHS) = CorrectDelayedTyposInBinOp(*this, Opc, LHSExpr, RHSExpr); in CreateBuiltinBinOp()
14863 QualType RHSTy = RHSExpr->getType(); in CreateBuiltinBinOp()
14867 SourceRange SR(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in CreateBuiltinBinOp()
14887 checkTypeSupport(RHSExpr->getType(), OpLoc, /*ValueDecl*/ nullptr); in CreateBuiltinBinOp()
15114 Expr *RHSExpr) { in DiagnoseBitwisePrecedence() argument
15116 BinaryOperator *RHSBO = dyn_cast<BinaryOperator>(RHSExpr); in DiagnoseBitwisePrecedence()
15133 : SourceRange(OpLoc, RHSExpr->getEndLoc()); in DiagnoseBitwisePrecedence()
15137 ? SourceRange(LHSBO->getRHS()->getBeginLoc(), RHSExpr->getEndLoc()) in DiagnoseBitwisePrecedence()
15144 (isLeftComp ? LHSExpr : RHSExpr)->getSourceRange()); in DiagnoseBitwisePrecedence()
15184 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseLogicalAndInLogicalOrLHS() argument
15188 if (EvaluatesAsFalse(S, RHSExpr)) in DiagnoseLogicalAndInLogicalOrLHS()
15206 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseLogicalAndInLogicalOrRHS() argument
15207 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(RHSExpr)) { in DiagnoseLogicalAndInLogicalOrRHS()
15252 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseShiftCompare() argument
15266 << LHSExpr->getSourceRange() << RHSExpr->getSourceRange() in DiagnoseShiftCompare()
15274 SourceRange(OCE->getArg(1)->getBeginLoc(), RHSExpr->getEndLoc())); in DiagnoseShiftCompare()
15281 Expr *RHSExpr){ in DiagnoseBinOpPrecedence() argument
15284 DiagnoseBitwisePrecedence(Self, Opc, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
15290 DiagnoseBitwiseOpInBitwiseOp(Self, Opc, OpLoc, RHSExpr); in DiagnoseBinOpPrecedence()
15296 DiagnoseLogicalAndInLogicalOrLHS(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
15297 DiagnoseLogicalAndInLogicalOrRHS(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
15304 DiagnoseAdditionInShift(Self, OpLoc, RHSExpr, Shift); in DiagnoseBinOpPrecedence()
15310 DiagnoseShiftCompare(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
15316 Expr *LHSExpr, Expr *RHSExpr) { in ActOnBinOp() argument
15319 assert(RHSExpr && "ActOnBinOp(): missing right expression"); in ActOnBinOp()
15322 DiagnoseBinOpPrecedence(*this, Opc, TokLoc, LHSExpr, RHSExpr); in ActOnBinOp()
15324 return BuildBinOp(S, TokLoc, Opc, LHSExpr, RHSExpr); in ActOnBinOp()
15370 Expr *LHSExpr, Expr *RHSExpr) { in BuildBinOp() argument
15372 std::tie(LHS, RHS) = CorrectDelayedTyposInBinOp(*this, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15376 RHSExpr = RHS.get(); in BuildBinOp()
15389 return checkPseudoObjectAssignment(S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15398 ExprResult resolvedRHS = CheckPlaceholderExpr(RHSExpr); in BuildBinOp()
15400 RHSExpr = resolvedRHS.get(); in BuildBinOp()
15402 if (RHSExpr->isTypeDependent() || in BuildBinOp()
15403 RHSExpr->getType()->isOverloadableType()) in BuildBinOp()
15404 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15435 if (const BuiltinType *pty = RHSExpr->getType()->getAsPlaceholderType()) { in BuildBinOp()
15440 (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent() || in BuildBinOp()
15442 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15444 return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15450 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15452 ExprResult resolvedRHS = CheckPlaceholderExpr(RHSExpr); in BuildBinOp()
15454 RHSExpr = resolvedRHS.get(); in BuildBinOp()
15460 if (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent()) in BuildBinOp()
15461 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15466 RHSExpr->getType()->isOverloadableType()) in BuildBinOp()
15467 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
15471 (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent())) { in BuildBinOp()
15473 assert((LHSExpr->containsErrors() || RHSExpr->containsErrors()) && in BuildBinOp()
15480 Context, LHSExpr, RHSExpr, Opc, in BuildBinOp()
15500 ResultType = RHSExpr->getType(); in BuildBinOp()
15506 return BinaryOperator::Create(Context, LHSExpr, RHSExpr, Opc, ResultType, in BuildBinOp()
15512 return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16125 Expr *LHSExpr, Expr *RHSExpr, in ActOnChooseExpr() argument
16127 assert((CondExpr && LHSExpr && RHSExpr) && "Missing type argument(s)"); in ActOnChooseExpr()
16146 Expr *ActiveExpr = CondIsTrue ? LHSExpr : RHSExpr; in ActOnChooseExpr()
16153 return new (Context) ChooseExpr(BuiltinLoc, CondExpr, LHSExpr, RHSExpr, in ActOnChooseExpr()