From: Matthijs Kooijman Date: Tue, 23 Jun 2009 10:08:08 +0000 (+0200) Subject: Return multiple statements instead of a block. X-Git-Url: https://git.stderr.nl/gitweb?a=commitdiff_plain;ds=sidebyside;h=f48b311f77a6d1cb8b35376c655dff771a42fc5b;p=matthijs%2Fmaster-project%2Fc%CE%BBash.git Return multiple statements instead of a block. 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. --- diff --git a/VHDL.hs b/VHDL.hs index b2f166e..f0d423d 100644 --- 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