diff options
author | Cheng Shao <cheng.shao@tweag.io> | 2021-10-30 00:49:24 +0000 |
---|---|---|
committer | Cheng Shao <astrohavoc@gmail.com> | 2022-07-25 20:41:55 +0000 |
commit | 4a7256a75af2fc0318bef771a06949ffb3939d5a (patch) | |
tree | 28e0839a55b62de898a0e349a6d7f85cdc4016e5 /compiler/GHC/Driver | |
parent | 61faff40394c67956f53064b357e5b870c4de6c9 (diff) | |
download | haskell-4a7256a75af2fc0318bef771a06949ffb3939d5a.tar.gz |
Add location to cc phase
Diffstat (limited to 'compiler/GHC/Driver')
-rw-r--r-- | compiler/GHC/Driver/Pipeline.hs | 2 | ||||
-rw-r--r-- | compiler/GHC/Driver/Pipeline/Execute.hs | 8 | ||||
-rw-r--r-- | compiler/GHC/Driver/Pipeline/Phases.hs | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/compiler/GHC/Driver/Pipeline.hs b/compiler/GHC/Driver/Pipeline.hs index 0149bf644f..da7fd0b1f2 100644 --- a/compiler/GHC/Driver/Pipeline.hs +++ b/compiler/GHC/Driver/Pipeline.hs @@ -774,7 +774,7 @@ asPipeline use_cpp pipe_env hsc_env location input_fn = viaCPipeline :: P m => Phase -> PipeEnv -> HscEnv -> Maybe ModLocation -> FilePath -> m (Maybe FilePath) viaCPipeline c_phase pipe_env hsc_env location input_fn = do - out_fn <- use (T_Cc c_phase pipe_env hsc_env input_fn) + out_fn <- use (T_Cc c_phase pipe_env hsc_env location input_fn) case stop_phase pipe_env of StopC -> return Nothing _ -> asPipeline False pipe_env hsc_env location out_fn diff --git a/compiler/GHC/Driver/Pipeline/Execute.hs b/compiler/GHC/Driver/Pipeline/Execute.hs index 7390735f28..6676747f21 100644 --- a/compiler/GHC/Driver/Pipeline/Execute.hs +++ b/compiler/GHC/Driver/Pipeline/Execute.hs @@ -134,7 +134,7 @@ runPhase (T_Cmm pipe_env hsc_env input_fn) = do let foreign_os = maybeToList stub_o return (foreign_os, output_fn) -runPhase (T_Cc phase pipe_env hsc_env input_fn) = runCcPhase phase pipe_env hsc_env input_fn +runPhase (T_Cc phase pipe_env hsc_env location input_fn) = runCcPhase phase pipe_env hsc_env location input_fn runPhase (T_As cpp pipe_env hsc_env location input_fn) = do runAsPhase cpp pipe_env hsc_env location input_fn runPhase (T_LlvmOpt pipe_env hsc_env input_fn) = @@ -363,8 +363,8 @@ applyAssemblerProg DarwinClangAssemblerProg logger dflags platform = -runCcPhase :: Phase -> PipeEnv -> HscEnv -> FilePath -> IO FilePath -runCcPhase cc_phase pipe_env hsc_env input_fn = do +runCcPhase :: Phase -> PipeEnv -> HscEnv -> Maybe ModLocation -> FilePath -> IO FilePath +runCcPhase cc_phase pipe_env hsc_env location input_fn = do let dflags = hsc_dflags hsc_env let logger = hsc_logger hsc_env let unit_env = hsc_unit_env hsc_env @@ -429,7 +429,7 @@ runCcPhase cc_phase pipe_env hsc_env input_fn = do -- Decide next phase let next_phase = As False - output_fn <- phaseOutputFilenameNew next_phase pipe_env hsc_env Nothing + output_fn <- phaseOutputFilenameNew next_phase pipe_env hsc_env location let more_hcc_opts = diff --git a/compiler/GHC/Driver/Pipeline/Phases.hs b/compiler/GHC/Driver/Pipeline/Phases.hs index aa11801b45..8868016f4d 100644 --- a/compiler/GHC/Driver/Pipeline/Phases.hs +++ b/compiler/GHC/Driver/Pipeline/Phases.hs @@ -42,7 +42,7 @@ data TPhase res where T_HscBackend :: PipeEnv -> HscEnv -> ModuleName -> HscSource -> ModLocation -> HscBackendAction -> TPhase ([FilePath], ModIface, Maybe Linkable, FilePath) T_CmmCpp :: PipeEnv -> HscEnv -> FilePath -> TPhase FilePath T_Cmm :: PipeEnv -> HscEnv -> FilePath -> TPhase ([FilePath], FilePath) - T_Cc :: Phase -> PipeEnv -> HscEnv -> FilePath -> TPhase FilePath + T_Cc :: Phase -> PipeEnv -> HscEnv -> Maybe ModLocation -> FilePath -> TPhase FilePath T_As :: Bool -> PipeEnv -> HscEnv -> Maybe ModLocation -> FilePath -> TPhase FilePath T_LlvmOpt :: PipeEnv -> HscEnv -> FilePath -> TPhase FilePath T_LlvmLlc :: PipeEnv -> HscEnv -> FilePath -> TPhase FilePath |