git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
C++: fix pcc TCO options flag
82ca705Andy Arvanitis
src/Language/PureScript/CodeGen/Cpp.hs+3−2
@@ -33,7 +33,7 @@ import Data.Maybe (catMaybes)
33import qualified Data.Map as M
33import qualified Data.Map as M
34
34
35import Control.Monad (forM, replicateM)
35import Control.Monad (forM, replicateM)
36−import Control.Monad.Reader (MonadReader)
36+import Control.Monad.Reader (MonadReader, ask)
37import Control.Monad.Supply.Class
37import Control.Monad.Supply.Class
38import Language.PureScript.AST.SourcePos
38import Language.PureScript.AST.SourcePos
39import Language.PureScript.CodeGen.Cpp.AST as AST
39import Language.PureScript.CodeGen.Cpp.AST as AST
@@ -476,7 +476,8 @@ moduleToCpp env (Module _ mn imps _ foreigns decls) = do
476 valueToCpp (Let _ ds val) = do
476 valueToCpp (Let _ ds val) = do
477 ds' <- concat <$> mapM (bindToCpp []) ds
477 ds' <- concat <$> mapM (bindToCpp []) ds
478 ret <- valueToCpp val
478 ret <- valueToCpp val
479+ opts <- ask
479− let ds'' = tco defaultOptions <$> ds'
480+ let ds'' = tco opts <$> ds'
480 let rs = if hasRecursion ds''
481 let rs = if hasRecursion ds''
481 then convertRecursiveFns ds''
482 then convertRecursiveFns ds''
482 else ds''
483 else ds''