summaryrefslogtreecommitdiff
path: root/compiler/GHC/Driver/Pipeline.hs-boot
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Driver/Pipeline.hs-boot')
-rw-r--r--compiler/GHC/Driver/Pipeline.hs-boot22
1 files changed, 17 insertions, 5 deletions
diff --git a/compiler/GHC/Driver/Pipeline.hs-boot b/compiler/GHC/Driver/Pipeline.hs-boot
index 3467ff4ced..0aedc9b00f 100644
--- a/compiler/GHC/Driver/Pipeline.hs-boot
+++ b/compiler/GHC/Driver/Pipeline.hs-boot
@@ -1,13 +1,25 @@
+{-# LANGUAGE ConstraintKinds #-}
+{-# LANGUAGE FlexibleContexts #-}
module GHC.Driver.Pipeline where
-import GHC.Driver.Env.Types ( HscEnv )
+import {-# SOURCE #-} GHC.Driver.Pipeline.Phases ( TPhase )
+import GHC.Driver.Pipeline.Monad ( TPipelineClass, PipeEnv )
+import {-# SOURCE #-} GHC.Driver.Env.Types ( HscEnv )
import GHC.ForeignSrcLang ( ForeignSrcLang )
-import GHC.Prelude (FilePath, IO)
-import GHC.Unit.Module.Location (ModLocation)
-import GHC.Unit.Module.Name (ModuleName)
-import GHC.Driver.Session (DynFlags)
+import GHC.Prelude (Maybe, Bool, FilePath, IO)
+import GHC.Unit.Module.Location ( ModLocation )
+import GHC.Unit.Module.Name ( ModuleName )
+import GHC.Driver.Phases (Phase)
+import {-# SOURCE #-} GHC.Driver.Session ( DynFlags )
-- These are used in GHC.Driver.Pipeline.Execute, but defined in terms of runPipeline
compileForeign :: HscEnv -> ForeignSrcLang -> FilePath -> IO FilePath
compileEmptyStub :: DynFlags -> HscEnv -> FilePath -> ModLocation -> ModuleName -> IO ()
+
+asPipeline :: TPipelineClass TPhase m
+ => Bool -> PipeEnv -> HscEnv -> Maybe ModLocation -> FilePath -> m (Maybe FilePath)
+llvmPipeline :: TPipelineClass TPhase m
+ => PipeEnv -> HscEnv -> Maybe ModLocation -> FilePath -> m (Maybe FilePath)
+viaCPipeline :: TPipelineClass TPhase m
+ => Phase -> PipeEnv -> HscEnv -> Maybe ModLocation -> FilePath -> m (Maybe FilePath)