Lines Matching refs:CastTy
630 QualType CastTy, OriginalTy; member in __anona9af1b1c0211::EvalCastVisitor
633 EvalCastVisitor(SValBuilder &VB, QualType CastTy, QualType OriginalTy) in EvalCastVisitor() argument
634 : VB(VB), Context(VB.getContext()), CastTy(CastTy), in EvalCastVisitor()
638 if (CastTy.isNull()) in Visit()
641 CastTy = Context.getCanonicalType(CastTy); in Visit()
647 if (CastTy == OriginalTy) in Visit()
653 if (!CastTy->isVariableArrayType() && !OriginalTy->isVariableArrayType()) in Visit()
654 if (shouldBeModeledWithNoOp(Context, Context.getPointerType(CastTy), in Visit()
664 if (CastTy->isBooleanType()) in VisitLocConcreteInt()
665 return VB.makeTruthVal(V.getValue().getBoolValue(), CastTy); in VisitLocConcreteInt()
668 if (CastTy->isIntegralOrEnumerationType()) { in VisitLocConcreteInt()
670 VB.getBasicValueFactory().getAPSIntType(CastTy).apply(Value); in VisitLocConcreteInt()
675 if (Loc::isLocType(CastTy)) { in VisitLocConcreteInt()
677 VB.getBasicValueFactory().getAPSIntType(CastTy).apply(Value); in VisitLocConcreteInt()
686 if (CastTy->isBooleanType()) in VisitLocGotoLabel()
688 return VB.makeTruthVal(true, CastTy); in VisitLocGotoLabel()
691 if (CastTy->isIntegralOrEnumerationType()) { in VisitLocGotoLabel()
692 const unsigned BitWidth = Context.getIntWidth(CastTy); in VisitLocGotoLabel()
700 if (CastTy->isPointerType() || CastTy->isReferenceType()) in VisitLocGotoLabel()
705 if (Loc::isLocType(CastTy)) in VisitLocGotoLabel()
713 if (CastTy->isBooleanType()) { in VisitLocMemRegionVal()
733 CastTy); in VisitLocMemRegionVal()
736 return VB.makeTruthVal(true, CastTy); in VisitLocMemRegionVal()
747 if (CastTy->isIntegralOrEnumerationType()) { in VisitLocMemRegionVal()
759 const unsigned BitWidth = Context.getIntWidth(CastTy); in VisitLocMemRegionVal()
764 if (Loc::isLocType(CastTy)) { in VisitLocMemRegionVal()
776 if (CastTy->isPointerType() && !CastTy->isVoidPointerType()) { in VisitLocMemRegionVal()
785 if (!HasSameUnqualifiedPointeeType(SRTy, CastTy)) { in VisitLocMemRegionVal()
786 if (auto OptMemRegV = VB.getCastedMemRegionVal(SR, CastTy)) in VisitLocMemRegionVal()
794 if (auto OptMemRegV = VB.getCastedMemRegionVal(ER, CastTy)) in VisitLocMemRegionVal()
810 if (CastTy->isPointerType() || CastTy->isReferenceType()) { in VisitLocMemRegionVal()
817 assert(CastTy->isIntegralOrEnumerationType()); in VisitLocMemRegionVal()
822 CastTy->isReferenceType()); in VisitLocMemRegionVal()
841 if (auto OptMemRegV = VB.getCastedMemRegionVal(R, CastTy)) in VisitLocMemRegionVal()
863 VB.getBasicValueFactory().getAPSIntType(CastTy).apply(Value); in VisitNonLocConcreteInt()
868 if (CastTy->isBooleanType()) in VisitNonLocConcreteInt()
869 return VB.makeTruthVal(V.getValue().getBoolValue(), CastTy); in VisitNonLocConcreteInt()
872 if (CastTy->isIntegralOrEnumerationType()) in VisitNonLocConcreteInt()
876 if (Loc::isLocType(CastTy)) in VisitNonLocConcreteInt()
890 if (CastTy->isBooleanType()) in VisitNonLocLocAsInteger()
896 if (!IsUnknownOriginalType && Loc::isLocType(CastTy) && in VisitNonLocLocAsInteger()
899 if (auto OptMemRegV = VB.getCastedMemRegionVal(R, CastTy)) in VisitNonLocLocAsInteger()
907 if (CastTy->isIntegralOrEnumerationType()) in VisitNonLocLocAsInteger()
910 if (Loc::isLocType(CastTy)) { in VisitNonLocLocAsInteger()
912 CastTy->isReferenceType()); in VisitNonLocLocAsInteger()
916 if (auto OptMemRegV = VB.getCastedMemRegionVal(R, CastTy)) in VisitNonLocLocAsInteger()
920 if (Loc::isLocType(CastTy)) { in VisitNonLocLocAsInteger()
934 if (!CastTy->isFloatingType() || !SE || SE->getType()->isFloatingType()) { in VisitNonLocLocAsInteger()
936 const unsigned CastSize = Context.getIntWidth(CastTy); in VisitNonLocLocAsInteger()
952 if (!IsUnknownOriginalType && CastTy->isBooleanType()) { in VisitNonLocSymbolVal()
958 return VB.makeNonLoc(SE, BO_NE, BVF.getValue(0, SE->getType()), CastTy); in VisitNonLocSymbolVal()
967 CastTy->isIntegralOrUnscopedEnumerationType()) { in VisitNonLocSymbolVal()
976 return simplifySymbolCast(V, CastTy); in VisitNonLocSymbolVal()
978 if (!Loc::isLocType(CastTy)) in VisitNonLocSymbolVal()
979 if (!IsUnknownOriginalType || !CastTy->isFloatingType() || in VisitNonLocSymbolVal()
981 return VB.makeNonLoc(SE, T, CastTy); in VisitNonLocSymbolVal()
1002 nonloc::SymbolVal simplifySymbolCast(nonloc::SymbolVal V, QualType CastTy) { in simplifySymbolCast() argument
1041 if (T == CastTy) in simplifySymbolCast()
1045 return VB.makeNonLoc(SE, T, CastTy); in simplifySymbolCast()
1052 return VB.makeNonLoc(SE, T, CastTy); in simplifySymbolCast()
1055 APSIntType CTy = BVF.getAPSIntType(CastTy); in simplifySymbolCast()
1062 const bool isSameType = (RT == CastTy); in simplifySymbolCast()
1065 return VB.makeNonLoc(RootSym, RT, CastTy); in simplifySymbolCast()
1074 return VB.makeNonLoc(RootSym, RT, CastTy); in simplifySymbolCast()
1076 return VB.makeNonLoc(SE, T, CastTy); in simplifySymbolCast()
1092 SVal SValBuilder::evalCast(SVal V, QualType CastTy, QualType OriginalTy) { in evalCast() argument
1093 EvalCastVisitor TRV{*this, CastTy, OriginalTy}; in evalCast()