From a3fa5c7f1b5e2ba4d6ec033dc0e2376326b05824 Mon Sep 17 00:00:00 2001 From: rdivacky <rdivacky@FreeBSD.org> Date: Fri, 15 Jan 2010 15:39:40 +0000 Subject: Update clang to r93512. --- lib/Analysis/SValuator.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'lib/Analysis/SValuator.cpp') diff --git a/lib/Analysis/SValuator.cpp b/lib/Analysis/SValuator.cpp index 49bc0c4..8392fcf 100644 --- a/lib/Analysis/SValuator.cpp +++ b/lib/Analysis/SValuator.cpp @@ -62,8 +62,12 @@ SValuator::CastResult SValuator::EvalCast(SVal val, const GRState *state, ASTContext &C = ValMgr.getContext(); // For const casts, just propagate the value. - if (C.hasSameUnqualifiedType(castTy, originalTy)) - return CastResult(state, val); + if (!castTy->isVariableArrayType() && !originalTy->isVariableArrayType()) + if (C.hasSameUnqualifiedType(castTy, originalTy)) + return CastResult(state, val); + + if (castTy->isIntegerType() && originalTy->isIntegerType()) + return CastResult(state, EvalCastNL(cast<NonLoc>(val), castTy)); // Check for casts from pointers to integers. if (castTy->isIntegerType() && Loc::IsLocType(originalTy)) -- cgit v1.1