Default initialize only pointers and integer types (for now).

llvm-svn: 54798
This commit is contained in:
Ted Kremenek 2008-08-14 22:11:13 +00:00
parent 12c9ddced1
commit c7138bb0a7
1 changed files with 9 additions and 0 deletions

View File

@ -202,6 +202,15 @@ const GRState* GRExprEngine::getInitialState() {
ScopedDecl *SD = const_cast<ScopedDecl*>(I->first);
if (VarDecl* VD = dyn_cast<VarDecl>(SD)) {
// Punt on static variables for now.
if (VD->getStorageClass() == VarDecl::Static)
continue;
// Only handle pointers and integers for now.
QualType T = VD->getType();
if (!(LVal::IsLValType(T) || T->isIntegerType()))
continue;
// Initialize globals and parameters to symbolic values.
// Initialize local variables to undefined.
RVal X = (VD->hasGlobalStorage() || isa<ParmVarDecl>(VD) ||