|
@@ -378,7 +378,6 @@ void ExprEngine::VisitCast(const CastExpr *CastE, const Expr *Ex,
|
|
case CK_BitCast:
|
|
case CK_BitCast:
|
|
case CK_AddressSpaceConversion:
|
|
case CK_AddressSpaceConversion:
|
|
case CK_BooleanToSignedIntegral:
|
|
case CK_BooleanToSignedIntegral:
|
|
- case CK_NullToPointer:
|
|
|
|
case CK_IntegralToPointer:
|
|
case CK_IntegralToPointer:
|
|
case CK_PointerToIntegral: {
|
|
case CK_PointerToIntegral: {
|
|
SVal V = state->getSVal(Ex, LCtx);
|
|
SVal V = state->getSVal(Ex, LCtx);
|
|
@@ -503,6 +502,12 @@ void ExprEngine::VisitCast(const CastExpr *CastE, const Expr *Ex,
|
|
Bldr.generateNode(CastE, Pred, state);
|
|
Bldr.generateNode(CastE, Pred, state);
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
+ case CK_NullToPointer: {
|
|
|
|
+ SVal V = svalBuilder.makeNull();
|
|
|
|
+ state = state->BindExpr(CastE, LCtx, V);
|
|
|
|
+ Bldr.generateNode(CastE, Pred, state);
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
case CK_NullToMemberPointer: {
|
|
case CK_NullToMemberPointer: {
|
|
SVal V = svalBuilder.getMemberPointer(nullptr);
|
|
SVal V = svalBuilder.getMemberPointer(nullptr);
|
|
state = state->BindExpr(CastE, LCtx, V);
|
|
state = state->BindExpr(CastE, LCtx, V);
|