Lines Matching refs:Lhs
3751 OpaqueValueExpr Lhs(KeyLoc, LhsT.getNonLValueExprType(Self.Context),
3761 ExprResult Result = Self.BuildBinOp(/*S=*/0, KeyLoc, BO_Assign, &Lhs, &Rhs);
3942 QualType Sema::CheckPointerToMemberOperands(ExprResult &LHS, ExprResult &RHS,
3946 assert(!LHS.get()->getType()->isPlaceholderType() &&
3950 // The LHS undergoes lvalue conversions if this is ->*.
3952 LHS = DefaultLvalueConversion(LHS.take());
3953 if (LHS.isInvalid()) return QualType();
3985 QualType LHSType = LHS.get()->getType();
4010 << (int)isIndirect << LHS.get()->getType();
4013 // Cast LHS to type of use.
4015 ExprValueKind VK = isIndirect ? VK_RValue : LHS.get()->getValueKind();
4019 LHS = ImpCastExprToType(LHS.take(), UseType, CK_DerivedToBase, VK,
4051 if (!isIndirect && !LHS.get()->Classify(Context).isLValue())
4053 << RHSType << 1 << LHS.get()->getSourceRange();
4057 if (isIndirect || !LHS.get()->Classify(Context).isRValue())
4059 << RHSType << 0 << LHS.get()->getSourceRange();
4077 VK = LHS.get()->getValueKind();
4179 static bool FindConditionalOverload(Sema &Self, ExprResult &LHS, ExprResult &RHS,
4181 Expr *Args[2] = { LHS.get(), RHS.get() };
4191 Self.PerformImplicitConversion(LHS.get(), Best->BuiltinTypes.ParamTypes[0],
4195 LHS = LHSRes;
4213 if (Self.DiagnoseConditionalForNull(LHS.get(), RHS.get(), QuestionLoc))
4217 << LHS.get()->getType() << RHS.get()->getType()
4218 << LHS.get()->getSourceRange() << RHS.get()->getSourceRange();
4223 << LHS.get()->getType() << RHS.get()->getType()
4224 << LHS.get()->getSourceRange() << RHS.get()->getSourceRange();
4253 /// See C++ [expr.cond]. Note that LHS is never null, even for the GNU x ?: y
4254 /// extension. In this case, LHS == Cond. (But they're not aliases.)
4255 QualType Sema::CXXCheckConditionalOperands(ExprResult &Cond, ExprResult &LHS,
4276 if (LHS.get()->isTypeDependent() || RHS.get()->isTypeDependent())
4281 QualType LTy = LHS.get()->getType();
4288 LHS = DefaultFunctionArrayLvalueConversion(LHS.take());
4290 if (LHS.isInvalid() || RHS.isInvalid())
4296 ExprResult &NonVoid = LVoid ? RHS : LHS;
4309 LTy = LHS.get()->getType();
4315 bool LThrow = isa<CXXThrowExpr>(LHS.get()->IgnoreParenCasts());
4330 << LHS.get()->getSourceRange() << RHS.get()->getSourceRange();
4346 if (TryClassUnification(*this, LHS.get(), RHS.get(), QuestionLoc, HaveL2R, L2RType))
4348 if (TryClassUnification(*this, RHS.get(), LHS.get(), QuestionLoc, HaveR2L, R2LType))
4354 << LTy << RTy << LHS.get()->getSourceRange() << RHS.get()->getSourceRange();
4362 if (ConvertForConditional(*this, LHS, L2RType) || LHS.isInvalid())
4364 LTy = LHS.get()->getType();
4376 ExprValueKind LVK = LHS.get()->getValueKind();
4387 LHS = ImpCastExprToType(LHS.take(), RTy, CK_NoOp, LVK);
4388 LTy = LHS.get()->getType();
4405 LHS.get()->isOrdinaryOrBitFieldObject() &&
4407 VK = LHS.get()->getValueKind();
4408 if (LHS.get()->getObjectKind() == OK_BitField ||
4421 if (FindConditionalOverload(*this, LHS, RHS, QuestionLoc))
4428 LHS = DefaultFunctionArrayLvalueConversion(LHS.take());
4430 if (LHS.isInvalid() || RHS.isInvalid())
4432 LTy = LHS.get()->getType();
4451 LHS);
4461 LHS = LHSCopy;
4470 return CheckVectorOperands(LHS, RHS, QuestionLoc, /*isCompAssign*/false);
4476 UsualArithmeticConversions(LHS, RHS);
4477 if (LHS.isInvalid() || RHS.isInvalid())
4479 return LHS.get()->getType();
4495 QualType Composite = FindCompositePointerType(QuestionLoc, LHS, RHS,
4502 << LHS.get()->getSourceRange() << RHS.get()->getSourceRange();
4508 Composite = FindCompositeObjCPointerType(LHS, RHS, QuestionLoc);
4513 if (DiagnoseConditionalForNull(LHS.get(), RHS.get(), QuestionLoc))
4517 << LHS.get()->getType() << RHS.get()->getType()
4518 << LHS.get()->getSourceRange() << RHS.get()->getSourceRange();