Lines Matching defs:RHSType
941 QualType RHSType,
943 int order = S.Context.getFloatingTypeOrder(LHSType, RHSType);
948 LHS = S.ImpCastExprToType(LHS.get(), RHSType, CK_FloatingComplexCast);
949 return RHSType;
1002 QualType RHSType,
1005 if (!handleIntegerToComplexFloatConversion(S, RHS, LHS, RHSType, LHSType,
1008 if (!handleIntegerToComplexFloatConversion(S, LHS, RHS, LHSType, RHSType,
1010 return RHSType;
1024 bool RHSComplexFloat = RHSType->isComplexType();
1029 LHSType, RHSType,
1036 S, LHS, RHS, LHSType, RHSType, /*convertComplexExpr*/!IsCompAssign,
1041 S, RHS, LHS, RHSType, LHSType, /*convertComplexExpr*/true,
1080 QualType RHSType, bool IsCompAssign) {
1082 bool RHSFloat = RHSType->isRealFloatingType();
1087 int order = S.Context.getFloatingTypeOrder(LHSType, RHSType);
1095 LHS = S.ImpCastExprToType(LHS.get(), RHSType, CK_FloatingCast);
1096 return RHSType;
1100 return handleIntToFloatConversion(S, LHS, RHS, LHSType, RHSType,
1104 return handleIntToFloatConversion(S, RHS, LHS, RHSType, LHSType,
1129 QualType RHSType, bool IsCompAssign) {
1131 int order = S.Context.getIntegerTypeOrder(LHSType, RHSType);
1133 bool RHSSigned = RHSType->hasSignedIntegerRepresentation();
1140 LHS = (*doLHSCast)(S, LHS.get(), RHSType);
1141 return RHSType;
1149 LHS = (*doLHSCast)(S, LHS.get(), RHSType);
1150 return RHSType;
1151 } else if (S.Context.getIntWidth(LHSType) != S.Context.getIntWidth(RHSType)) {
1159 LHS = (*doLHSCast)(S, LHS.get(), RHSType);
1160 return RHSType;
1167 S.Context.getCorrespondingUnsignedType(LHSSigned ? LHSType : RHSType);
1179 QualType RHSType,
1182 const ComplexType *RHSComplexInt = RHSType->getAsComplexIntegerType();
1198 (S, LHS, RHS, LHSEltType, RHSType, IsCompAssign);
1240 QualType RHSType =
1248 if (LHSType == RHSType)
1253 if (!LHSType->isArithmeticType() || !RHSType->isArithmeticType())
1267 if (LHSType == RHSType)
1273 if (LHSType->isComplexType() || RHSType->isComplexType())
1274 return handleComplexFloatConversion(*this, LHS, RHS, LHSType, RHSType,
1278 if (LHSType->isRealFloatingType() || RHSType->isRealFloatingType())
1279 return handleFloatConversion(*this, LHS, RHS, LHSType, RHSType,
1283 if (LHSType->isComplexIntegerType() || RHSType->isComplexIntegerType())
1284 return handleComplexIntConversion(*this, LHS, RHS, LHSType, RHSType,
1289 (*this, LHS, RHS, LHSType, RHSType, IsCompAssign);
6136 checkPointerTypesForAssignment(Sema &S, QualType LHSType, QualType RHSType) {
6138 assert(RHSType.isCanonical() && "RHS not canonicalized!");
6146 cast<PointerType>(RHSType)->getPointeeType().split().asPair();
6261 QualType RHSType) {
6263 assert(RHSType.isCanonical() && "RHS not canonicalized!");
6269 rhptee = cast<BlockPointerType>(RHSType)->getPointeeType();
6281 if (!S.Context.typesAreBlockPointerCompatible(LHSType, RHSType))
6291 QualType RHSType) {
6293 assert(RHSType.isCanonical() && "RHS was not canonicalized!");
6297 if (LHSType->isObjCClassType() && !RHSType->isObjCBuiltinType() &&
6298 !RHSType->isObjCQualifiedClassType())
6302 if (RHSType->isObjCBuiltinType()) {
6303 if (RHSType->isObjCClassType() && !LHSType->isObjCBuiltinType() &&
6309 QualType rhptee = RHSType->getAs<ObjCObjectPointerType>()->getPointeeType();
6316 if (S.Context.typesAreCompatible(LHSType, RHSType))
6318 if (LHSType->isObjCQualifiedIdType() || RHSType->isObjCQualifiedIdType())
6325 QualType LHSType, QualType RHSType) {
6330 OpaqueValueExpr RHSExpr(Loc, RHSType, VK_RValue);
6357 QualType RHSType = RHS.get()->getType();
6363 RHSType = Context.getCanonicalType(RHSType).getUnqualifiedType();
6366 if (LHSType == RHSType) {
6392 if (Context.typesAreCompatible(LHSTypeRef->getPointeeType(), RHSType)) {
6402 if (RHSType->isExtVectorType())
6404 if (RHSType->isArithmeticType()) {
6408 if (elType != RHSType) {
6418 if (LHSType->isVectorType() || RHSType->isVectorType()) {
6419 if (LHSType->isVectorType() && RHSType->isVectorType()) {
6422 if (Context.areCompatibleVectorTypes(LHSType, RHSType)) {
6430 if (isLaxVectorConversion(RHSType, LHSType)) {
6439 if (LHSType->isArithmeticType() && RHSType->isArithmeticType() &&
6448 if (isa<PointerType>(RHSType)) {
6450 return checkPointerTypesForAssignment(*this, LHSType, RHSType);
6454 if (RHSType->isIntegerType()) {
6461 if (isa<ObjCObjectPointerType>(RHSType)) {
6469 if (RHSType->isObjCClassType() &&
6481 if (RHSType->getAs<BlockPointerType>()) {
6494 if (RHSType->isBlockPointerType()) {
6496 return checkBlockPointerTypesForAssignment(*this, LHSType, RHSType);
6500 if (RHSType->isIntegerType()) {
6506 if (getLangOpts().ObjC1 && RHSType->isObjCIdType()) {
6512 if (const PointerType *RHSPT = RHSType->getAs<PointerType>())
6524 if (RHSType->isObjCObjectPointerType()) {
6527 checkObjCPointerTypesForAssignment(*this, LHSType, RHSType);
6530 !CheckObjCARCUnavailableWeakConversion(OrigLHSType, RHSType))
6536 if (RHSType->isIntegerType()) {
6543 if (isa<PointerType>(RHSType)) {
6547 if (RHSType->isVoidPointerType()) {
6553 Context.hasSameType(RHSType,
6562 if (RHSType->isBlockPointerType() &&
6573 if (isa<PointerType>(RHSType)) {
6590 if (isa<ObjCObjectPointerType>(RHSType)) {
6607 if (isa<TagType>(LHSType) && isa<TagType>(RHSType)) {
6608 if (Context.typesAreCompatible(LHSType, RHSType)) {
6640 QualType RHSType = RHS.get()->getType();
6657 if (RHSType->isPointerType())
6658 if (RHSType->castAs<PointerType>()->getPointeeType()->isVoidType()) {
6855 QualType RHSType = RHS.get()->getType().getUnqualifiedType();
6858 if (Context.hasSameType(LHSType, RHSType))
6862 const VectorType *RHSVecType = RHSType->getAs<VectorType>();
6867 Context.areCompatibleVectorTypes(LHSType, RHSType)) {
6874 LHS = ImpCastExprToType(LHS.get(), RHSType, CK_BitCast);
6875 return RHSType;
6881 if (!tryVectorConvertAndSplat(*this, &RHS, RHSType,
6888 RHSType))
6889 return RHSType;
6896 if (isLaxVectorConversion(RHSType, LHSType)) {
6905 if ((!RHSVecType && !RHSType->isRealType()) ||
6908 << LHSType << RHSType
6915 << LHSType << RHSType
7521 QualType RHSType = RHS.get()->getType();
7525 !RHSType->hasIntegerRepresentation())
7531 isScopedEnumerationType(RHSType)) {
7613 QualType RHSType = RHS.get()->getType();
7614 assert((LHSType->isPointerType() && RHSType->isPointerType()) ||
7615 (LHSType->isMemberPointerType() && RHSType->isMemberPointerType()));
7627 << LHSType << RHSType << T << LHS.get()->getSourceRange()
7872 QualType RHSType = RHS.get()->getType();
7903 } else if (DL && DR && LHSType->isArrayType() && RHSType->isArrayType() &&
7961 RHSType = RHS.get()->getType();
7967 if (LHSType->isRealType() && RHSType->isRealType())
7974 if (LHSType->isArithmeticType() && RHSType->isArithmeticType())
7997 if (LHSType->isPointerType() && RHSType->isPointerType()) { // C99 6.5.8p2
8001 RHSType->castAs<PointerType>()->getPointeeType().getCanonicalType();
8036 << LHSType << RHSType << LHS.get()->getSourceRange()
8056 LHS = ImpCastExprToType(LHS.get(), RHSType, Kind);
8065 if (LHSType->isNullPtrType() && RHSType->isNullPtrType())
8081 ((RHSType->isAnyPointerType() || RHSType->isNullPtrType()) ||
8083 (RHSType->isMemberPointerType() || RHSType->isBlockPointerType())))) {
8084 LHS = ImpCastExprToType(LHS.get(), RHSType,
8085 RHSType->isMemberPointerType()
8093 LHSType->isMemberPointerType() && RHSType->isMemberPointerType()) {
8110 RHSType->isBlockPointerType()) {
8112 QualType rpointee = RHSType->castAs<BlockPointerType>()->getPointeeType();
8117 << LHSType << RHSType << LHS.get()->getSourceRange()
8126 && ((LHSType->isBlockPointerType() && RHSType->isPointerType())
8127 || (LHSType->isPointerType() && RHSType->isBlockPointerType()))) {
8129 if (!((RHSType->isPointerType() && RHSType->castAs<PointerType>()
8134 << LHSType << RHSType << LHS.get()->getSourceRange()
8138 LHS = ImpCastExprToType(LHS.get(), RHSType,
8139 RHSType->isPointerType() ? CK_BitCast
8149 RHSType->isObjCObjectPointerType()) {
8151 const PointerType *RPT = RHSType->getAs<PointerType>();
8157 !Context.typesAreCompatible(LHSType, RHSType)) {
8164 CheckObjCARCConversion(SourceRange(), RHSType, E, CCK_ImplicitConversion);
8165 LHS = ImpCastExprToType(E, RHSType,
8179 RHSType->isObjCObjectPointerType()) {
8180 if (!Context.areComparableObjCPointerTypes(LHSType, RHSType))
8187 LHS = ImpCastExprToType(LHS.get(), RHSType, CK_BitCast);
8193 if ((LHSType->isAnyPointerType() && RHSType->isIntegerType()) ||
8194 (LHSType->isIntegerType() && RHSType->isAnyPointerType())) {
8201 (RHSIsNull && RHSType->isIntegerType())) {
8214 << LHSType << RHSType << LHS.get()->getSourceRange()
8221 LHS = ImpCastExprToType(LHS.get(), RHSType,
8231 && LHSType->isBlockPointerType() && RHSType->isIntegerType()) {
8236 && LHSType->isIntegerType() && RHSType->isBlockPointerType()) {
8237 LHS = ImpCastExprToType(LHS.get(), RHSType, CK_NullToPointer);
8628 QualType RHSType = CompoundType.isNull() ? RHS.get()->getType() :
8643 RHSType->isObjCObjectPointerType()) ||
8644 (Context.isObjCNSObjectType(RHSType) &&
8701 ConvTy = CheckAssignmentConstraints(Loc, LHSType, RHSType);
8704 if (DiagnoseAssignmentResult(ConvTy, Loc, LHSType, RHSType,