Fixed iterator bug in ExplodedNodeImpl::NodeGroup::end(); we would improperly

handle the case where the number of nodes was 0.

Fixed bug in GREngineImpl where we did not proceed to the next statement
when processing a PostStmt location.

llvm-svn: 46093
This commit is contained in:
Ted Kremenek 2008-01-16 22:13:19 +00:00
parent ac886cb835
commit e914bb8183
2 changed files with 2 additions and 2 deletions

View File

@ -60,7 +60,7 @@ ExplodedNodeImpl** ExplodedNodeImpl::NodeGroup::begin() const {
ExplodedNodeImpl** ExplodedNodeImpl::NodeGroup::end() const {
if (getKind() == Size1)
return ((ExplodedNodeImpl**) &P)+1;
return (ExplodedNodeImpl**) (P ? &P+1 : &P);
else
return const_cast<ExplodedNodeImpl**>(&*(getVector(getPtr()).rbegin())+1);
}

View File

@ -167,7 +167,7 @@ void GREngineImpl::HandlePostStmt(const PostStmt& L, CFGBlock* B,
HandleBlockExit(B, Pred);
else {
GRNodeBuilderImpl Builder(B, StmtIdx, Pred, this);
ProcessStmt(L.getStmt(), Builder);
ProcessStmt((*B)[StmtIdx], Builder);
}
}