Lines Matching refs:LHSExpr

8692 bool Sema::DiagnoseConditionalForNull(const Expr *LHSExpr, const Expr *RHSExpr,  in DiagnoseConditionalForNull()  argument
8694 const Expr *NullExpr = LHSExpr; in DiagnoseConditionalForNull()
8702 NonPointerExpr = LHSExpr; in DiagnoseConditionalForNull()
9611 Expr *Condition, const Expr *LHSExpr, in DiagnoseConditionalPrecedence() argument
9700 Expr *CondExpr, Expr *LHSExpr, in ActOnConditionalOp() argument
9707 ExprResult LHSResult = CorrectDelayedTyposInExpr(LHSExpr); in ActOnConditionalOp()
9713 if (LHSExpr) { in ActOnConditionalOp()
9722 LHSExpr = LHSResult.get(); in ActOnConditionalOp()
9730 if (!LHSExpr) { in ActOnConditionalOp()
9770 LHSExpr = CondExpr = opaqueValue; in ActOnConditionalOp()
9773 QualType LHSTy = LHSExpr->getType(), RHSTy = RHSExpr->getType(); in ActOnConditionalOp()
9776 ExprResult Cond = CondExpr, LHS = LHSExpr, RHS = RHSExpr; in ActOnConditionalOp()
11563 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseArithmeticOnTwoVoidPointers() argument
11567 << 1 /* two pointers */ << LHSExpr->getSourceRange() in diagnoseArithmeticOnTwoVoidPointers()
11699 Expr *LHSExpr, Expr *RHSExpr) { in checkArithmeticBinOpPointerOperands() argument
11700 bool isLHSPointer = LHSExpr->getType()->isAnyPointerType(); in checkArithmeticBinOpPointerOperands()
11705 if (isLHSPointer) LHSPointeeTy = LHSExpr->getType()->getPointeeType(); in checkArithmeticBinOpPointerOperands()
11713 << LHSExpr->getType() << RHSExpr->getType() << 1 /*arithmetic op*/ in checkArithmeticBinOpPointerOperands()
11714 << LHSExpr->getSourceRange() << RHSExpr->getSourceRange(); in checkArithmeticBinOpPointerOperands()
11723 if (!isRHSVoidPtr) diagnoseArithmeticOnVoidPointer(S, Loc, LHSExpr); in checkArithmeticBinOpPointerOperands()
11725 else diagnoseArithmeticOnTwoVoidPointers(S, Loc, LHSExpr, RHSExpr); in checkArithmeticBinOpPointerOperands()
11733 if (!isRHSFuncPtr) diagnoseArithmeticOnFunctionPointer(S, Loc, LHSExpr); in checkArithmeticBinOpPointerOperands()
11736 else diagnoseArithmeticOnTwoFunctionPointers(S, Loc, LHSExpr, RHSExpr); in checkArithmeticBinOpPointerOperands()
11741 if (isLHSPointer && checkArithmeticIncompletePointerType(S, Loc, LHSExpr)) in checkArithmeticBinOpPointerOperands()
11752 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseStringPlusInt() argument
11753 StringLiteral* StrExpr = dyn_cast<StringLiteral>(LHSExpr->IgnoreImpCasts()); in diagnoseStringPlusInt()
11757 IndexExpr = LHSExpr; in diagnoseStringPlusInt()
11765 SourceRange DiagRange(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in diagnoseStringPlusInt()
11773 << FixItHint::CreateInsertion(LHSExpr->getBeginLoc(), "&") in diagnoseStringPlusInt()
11782 Expr *LHSExpr, Expr *RHSExpr) { in diagnoseStringPlusChar() argument
11783 const Expr *StringRefExpr = LHSExpr; in diagnoseStringPlusChar()
11788 CharExpr = dyn_cast<CharacterLiteral>(LHSExpr->IgnoreImpCasts()); in diagnoseStringPlusChar()
11806 SourceRange DiagRange(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in diagnoseStringPlusChar()
11823 << FixItHint::CreateInsertion(LHSExpr->getBeginLoc(), "&") in diagnoseStringPlusChar()
11833 Expr *LHSExpr, Expr *RHSExpr) { in diagnosePointerIncompatibility() argument
11834 assert(LHSExpr->getType()->isAnyPointerType()); in diagnosePointerIncompatibility()
11837 << LHSExpr->getType() << RHSExpr->getType() << LHSExpr->getSourceRange() in diagnosePointerIncompatibility()
14522 static void CheckIdentityFieldAssignment(Expr *LHSExpr, Expr *RHSExpr, in CheckIdentityFieldAssignment() argument
14531 if (LHSExpr->getExprLoc().isMacroID() || RHSExpr->getExprLoc().isMacroID()) in CheckIdentityFieldAssignment()
14535 MemberExpr *ML = dyn_cast<MemberExpr>(LHSExpr); in CheckIdentityFieldAssignment()
14556 ObjCIvarRefExpr *OL = dyn_cast<ObjCIvarRefExpr>(LHSExpr); in CheckIdentityFieldAssignment()
14567 QualType Sema::CheckAssignmentOperands(Expr *LHSExpr, ExprResult &RHS, in CheckAssignmentOperands() argument
14571 assert(!LHSExpr->hasPlaceholderType(BuiltinType::PseudoObject)); in CheckAssignmentOperands()
14574 if (CheckForModifiableLvalue(LHSExpr, Loc, *this)) in CheckAssignmentOperands()
14577 QualType LHSType = LHSExpr->getType(); in CheckAssignmentOperands()
14601 CheckIdentityFieldAssignment(LHSExpr, RHSCheck, Loc, *this); in CheckAssignmentOperands()
14645 const Expr *InnerLHS = LHSExpr->IgnoreParenCasts(); in CheckAssignmentOperands()
14648 checkRetainCycles(LHSExpr, RHS.get()); in CheckAssignmentOperands()
14667 checkUnsafeExprAssigns(Loc, LHSExpr, RHS.get()); in CheckAssignmentOperands()
14679 CheckForNullPointerDereference(*this, LHSExpr); in CheckAssignmentOperands()
14687 ExprEvalContexts.back().VolatileAssignmentLHSs.push_back(LHSExpr); in CheckAssignmentOperands()
15412 static void DiagnoseSelfAssignment(Sema &S, Expr *LHSExpr, Expr *RHSExpr, in DiagnoseSelfAssignment() argument
15420 LHSExpr = LHSExpr->IgnoreParenImpCasts(); in DiagnoseSelfAssignment()
15422 const DeclRefExpr *LHSDeclRef = dyn_cast<DeclRefExpr>(LHSExpr); in DiagnoseSelfAssignment()
15442 << LHSDeclRef->getType() << LHSExpr->getSourceRange() in DiagnoseSelfAssignment()
15543 CorrectDelayedTyposInBinOp(Sema &S, BinaryOperatorKind Opc, Expr *LHSExpr, in CorrectDelayedTyposInBinOp() argument
15545 ExprResult LHS = LHSExpr, RHS = RHSExpr; in CorrectDelayedTyposInBinOp()
15595 Expr *LHSExpr, Expr *RHSExpr) { in CreateBuiltinBinOp() argument
15606 InitializedEntity::InitializeTemporary(LHSExpr->getType()); in CreateBuiltinBinOp()
15614 ExprResult LHS = LHSExpr, RHS = RHSExpr; in CreateBuiltinBinOp()
15623 std::tie(LHS, RHS) = CorrectDelayedTyposInBinOp(*this, Opc, LHSExpr, RHSExpr); in CreateBuiltinBinOp()
15628 QualType LHSTy = LHSExpr->getType(); in CreateBuiltinBinOp()
15633 SourceRange SR(LHSExpr->getBeginLoc(), RHSExpr->getEndLoc()); in CreateBuiltinBinOp()
15652 checkTypeSupport(LHSExpr->getType(), OpLoc, /*ValueDecl*/ nullptr); in CreateBuiltinBinOp()
15879 SourceLocation OpLoc, Expr *LHSExpr, in DiagnoseBitwisePrecedence() argument
15881 BinaryOperator *LHSBO = dyn_cast<BinaryOperator>(LHSExpr); in DiagnoseBitwisePrecedence()
15898 ? SourceRange(LHSExpr->getBeginLoc(), OpLoc) in DiagnoseBitwisePrecedence()
15904 : SourceRange(LHSExpr->getBeginLoc(), RHSBO->getLHS()->getEndLoc()); in DiagnoseBitwisePrecedence()
15910 (isLeftComp ? LHSExpr : RHSExpr)->getSourceRange()); in DiagnoseBitwisePrecedence()
15934 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseLogicalAndInLogicalOrLHS() argument
15935 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(LHSExpr)) { in DiagnoseLogicalAndInLogicalOrLHS()
15955 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseLogicalAndInLogicalOrRHS() argument
15999 Expr *LHSExpr, Expr *RHSExpr) { in DiagnoseShiftCompare() argument
16000 CXXOperatorCallExpr *OCE = dyn_cast<CXXOperatorCallExpr>(LHSExpr); in DiagnoseShiftCompare()
16013 << LHSExpr->getSourceRange() << RHSExpr->getSourceRange() in DiagnoseShiftCompare()
16027 SourceLocation OpLoc, Expr *LHSExpr, in DiagnoseBinOpPrecedence() argument
16031 DiagnoseBitwisePrecedence(Self, Opc, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
16036 DiagnoseBitwiseOpInBitwiseOp(Self, Opc, OpLoc, LHSExpr); in DiagnoseBinOpPrecedence()
16043 DiagnoseLogicalAndInLogicalOrLHS(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
16044 DiagnoseLogicalAndInLogicalOrRHS(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
16047 if ((Opc == BO_Shl && LHSExpr->getType()->isIntegralType(Self.getASTContext())) in DiagnoseBinOpPrecedence()
16050 DiagnoseAdditionInShift(Self, OpLoc, LHSExpr, Shift); in DiagnoseBinOpPrecedence()
16057 DiagnoseShiftCompare(Self, OpLoc, LHSExpr, RHSExpr); in DiagnoseBinOpPrecedence()
16063 Expr *LHSExpr, Expr *RHSExpr) { in ActOnBinOp() argument
16065 assert(LHSExpr && "ActOnBinOp(): missing left 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()
16131 LHSExpr = LHS.get(); in BuildBinOp()
16141 if (const BuiltinType *pty = LHSExpr->getType()->getAsPlaceholderType()) { in BuildBinOp()
16145 return checkPseudoObjectAssignment(S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16160 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16172 auto *OE = dyn_cast<OverloadExpr>(LHSExpr); in BuildBinOp()
16185 ExprResult LHS = CheckPlaceholderExpr(LHSExpr); in BuildBinOp()
16187 LHSExpr = LHS.get(); in BuildBinOp()
16196 (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent() || in BuildBinOp()
16197 LHSExpr->getType()->isOverloadableType())) in BuildBinOp()
16198 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16200 return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16205 LHSExpr->getType()->isOverloadableType()) in BuildBinOp()
16206 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16216 if (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent()) in BuildBinOp()
16217 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); in BuildBinOp()
16221 if (LHSExpr->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()
16237 LHSExpr->getType().getUnqualifiedType(), VK_PRValue, OK_Ordinary, in BuildBinOp()
16242 ResultType = LHSExpr->getType().getUnqualifiedType(); 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()