diff --git a/backends/GenerateC.hs b/backends/GenerateC.hs index 8a91797..7c13c9a 100644 --- a/backends/GenerateC.hs +++ b/backends/GenerateC.hs @@ -162,12 +162,17 @@ generateC = generate cgenOps needStackSizes :: (CSMR m, Die m) => m [A.Name] needStackSizes = do cs <- getCompState - return $ nub $ ([A.Name emptyMeta $ nameString $ A.Name emptyMeta n + return $ nub $(([A.Name emptyMeta $ nameString $ A.Name emptyMeta n | A.NameDef {A.ndName = n ,A.ndSpecType=A.Proc {} } <- Map.elems $ csNames cs] ) - \\ (map (A.Name emptyMeta . nameString . A.Name emptyMeta . fst) (csExternals cs)) + \\ (map (A.Name emptyMeta . nameString . A.Name emptyMeta . fst) (csExternals cs))) + ++ + [A.Name emptyMeta $ nameString $ A.Name emptyMeta n + | A.NameDef {A.ndName = n + ,A.ndSpecType=A.Function {} + } <- Map.elems $ csNames cs] cgenTopLevel :: String -> A.AST -> CGen () cgenTopLevel headerName s