Return multiple statements instead of a block.
authorMatthijs Kooijman <m.kooijman@student.utwente.nl>
Tue, 23 Jun 2009 10:08:08 +0000 (12:08 +0200)
committerMatthijs Kooijman <m.kooijman@student.utwente.nl>
Tue, 23 Jun 2009 10:08:08 +0000 (12:08 +0200)
The AST had some troubles outputting a block statement with no ports, so
we'll just drop the block now that mkConcSm can return multiple
statements.

VHDL.hs

diff --git a/VHDL.hs b/VHDL.hs
index b2f166e046c77bd51638ea5d13dd42713f376306..f0d423d9fe58678e9b7c1863726a69bcff935587 100644 (file)
--- a/VHDL.hs
+++ b/VHDL.hs
@@ -274,10 +274,7 @@ mkConcSm (bndr, app@(CoreSyn.App _ _))= do
         --let valargs = filter isValArg args in
         if all is_var valargs then do
           labels <- getFieldLabels (CoreUtils.exprType app)
-          let assigns = zipWith mkassign labels valargs
-          let block_id = bndrToVHDLId bndr
-          let block = AST.BlockSm block_id [] (AST.PMapAspect []) [] assigns
-          return [AST.CSBSm block]
+          return $ zipWith mkassign labels valargs
         else
           error $ "VHDL.mkConcSm Not in normal form: One ore more complex arguments: " ++ pprString args
       where