From 0a22ebf34b5c9c509aba51e18b9234c33c7971dc Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Fri, 1 Feb 2008 11:09:23 +0000 Subject: [PATCH] Fixed up a couple of lines to properly handle the difference between Left False and Left True when building the flow-graph --- common/FlowGraph.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/common/FlowGraph.hs b/common/FlowGraph.hs index 8c65b06..58cb6b1 100644 --- a/common/FlowGraph.hs +++ b/common/FlowGraph.hs @@ -346,7 +346,8 @@ buildFlowGraph funcs s _ -> return outer nodes <- buildStructured outer' str (route33 route A.Spec) case nodes of - Left {} -> do addEdge ESeq n n' + Left False -> do addEdge ESeq n n' + Left True -> return () Right (s,e) -> do addEdge ESeq n s addEdge ESeq e n' return $ Right (n,n') @@ -393,7 +394,8 @@ buildFlowGraph funcs s pId <- getNextParEdgeId nodes <- buildStructured (OPar pId (nStart, nEnd)) s (route33 route A.Par) case nodes of - Left {} -> return () -- already wired up + Left False -> do addEdge ESeq nStart nEnd -- no processes in PAR, join start and end with simple ESeq link + Left True -> return () -- already wired up Right (start, end) -> do addEdge (EStartPar pId) nStart start addEdge (EEndPar pId) end nEnd