diff options
Diffstat (limited to 'lib/Checker/GRCoreEngine.cpp')
| -rw-r--r-- | lib/Checker/GRCoreEngine.cpp | 6 | 
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/Checker/GRCoreEngine.cpp b/lib/Checker/GRCoreEngine.cpp index 23a87d303b4d4..a816186a307dd 100644 --- a/lib/Checker/GRCoreEngine.cpp +++ b/lib/Checker/GRCoreEngine.cpp @@ -221,6 +221,7 @@ bool GRCoreEngine::ExecuteWorkList(const LocationContext *L, unsigned Steps) {      }    } +  SubEngine.ProcessEndWorklist(WList->hasWork() || BlockAborted);    return WList->hasWork();  } @@ -257,7 +258,10 @@ void GRCoreEngine::HandleBlockEdge(const BlockEdge& L, ExplodedNode* Pred) {    // FIXME: Should we allow ProcessBlockEntrance to also manipulate state?    if (ProcessBlockEntrance(Blk, Pred, WList->getBlockCounter())) -    GenerateNode(BlockEntrance(Blk, Pred->getLocationContext()), Pred->State, Pred); +    GenerateNode(BlockEntrance(Blk, Pred->getLocationContext()), +                 Pred->State, Pred); +  else +    BlockAborted = true;  }  void GRCoreEngine::HandleBlockEntrance(const BlockEntrance& L,  | 
