reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
571 assert(!LTy.isNull() && !RTy.isNull() && "Input type is null!"); 575 RTy->isIntegralOrEnumerationType()) && 576 (LTy->isArithmeticType() && RTy->isArithmeticType())) { 578 Solver, Ctx, LHS, LTy, RHS, RTy); 582 if (LTy->isRealFloatingType() || RTy->isRealFloatingType()) { 584 Solver, Ctx, LHS, LTy, RHS, RTy); 588 if ((LTy->isAnyPointerType() || RTy->isAnyPointerType()) || 589 (LTy->isBlockPointerType() || RTy->isBlockPointerType()) || 590 (LTy->isReferenceType() || RTy->isReferenceType())) { 595 uint64_t RBitWidth = Ctx.getTypeSize(RTy); 599 if ((LTy->isAnyPointerType() ^ RTy->isAnyPointerType()) || 600 (LTy->isBlockPointerType() ^ RTy->isBlockPointerType()) || 601 (LTy->isReferenceType() ^ RTy->isReferenceType())) { 604 LHS = fromCast(Solver, LHS, RTy, RBitWidth, LTy, LBitWidth); 605 LTy = RTy; 607 RHS = fromCast(Solver, RHS, LTy, LBitWidth, RTy, RBitWidth); 608 RTy = LTy; 616 if (LTy->isVoidPointerType() ^ RTy->isVoidPointerType()) { 617 assert((Ctx.getTypeSize(LTy) == Ctx.getTypeSize(RTy)) && 619 if (RTy->isVoidPointerType()) 620 RTy = LTy; 622 LTy = RTy; 625 if (LTy == RTy) 630 if ((LTy.getCanonicalType() == RTy.getCanonicalType()) || 631 (LTy->isObjCObjectPointerType() && RTy->isObjCObjectPointerType())) { 632 LTy = RTy;