X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fmain%2FDriverPipeline.hs;h=cd11e0f361971c6e10f3ec76726bc64439e0dc87;hb=374bc02f5feb4f5bf709d0a04d15ce28ec71eef1;hp=bbc5a485c661b52949938f978232f453e134e6b4;hpb=2403cadce8d001bd1f63574554cbe8c6da51cc13;p=ghc-hetmet.git diff --git a/ghc/compiler/main/DriverPipeline.hs b/ghc/compiler/main/DriverPipeline.hs index bbc5a48..cd11e0f 100644 --- a/ghc/compiler/main/DriverPipeline.hs +++ b/ghc/compiler/main/DriverPipeline.hs @@ -171,10 +171,10 @@ compile hsc_env mod_summary maybe_old_linkable old_iface mod_index nmods = do = do stub_o <- compileStub dflags' this_mod location return [ DotO stub_o ] - handleMake (NewHscNoRecomp, iface, details) + handleMake (HscNoRecomp, iface, details) = ASSERT (isJust maybe_old_linkable) return (CompOK details iface maybe_old_linkable) - handleMake (NewHscRecomp hasStub, iface, details) + handleMake (HscRecomp hasStub, iface, details) | isHsBoot src_flavour = return (CompOK details iface Nothing) | otherwise @@ -213,7 +213,7 @@ compile hsc_env mod_summary maybe_old_linkable old_iface mod_index nmods = do let runCompiler compiler handle = do mbResult <- compiler hsc_env' mod_summary - source_unchanged have_object old_iface + source_unchanged old_iface (Just (mod_index, nmods)) case mbResult of Nothing -> return CompErrs @@ -751,19 +751,18 @@ runPhase (Hsc src_flavour) stop dflags0 basename suff input_fn get_output_fn _ma -- run the compiler! mbResult <- hscCompileOneShot hsc_env mod_summary source_unchanged - False -- No object file Nothing -- No iface Nothing -- No "module i of n" progress info case mbResult of Nothing -> throwDyn (PhaseFailed "hsc" (ExitFailure 1)) - Just NewHscNoRecomp + Just HscNoRecomp -> do SysTools.touch dflags' "Touching object file" o_file -- The .o file must have a later modification date -- than the source file (else we wouldn't be in HscNoRecomp) -- but we touch it anyway, to keep 'make' happy (we think). return (StopLn, dflags', Just location4, o_file) - Just (NewHscRecomp hasStub) + Just (HscRecomp hasStub) -> do when hasStub $ do stub_o <- compileStub dflags' mod_name location4 consIORef v_Ld_inputs stub_o