summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorIan Lynagh <ian@well-typed.com>2013-07-28 17:01:50 +0100
committerIan Lynagh <ian@well-typed.com>2013-07-28 17:01:50 +0100
commitb475be321106f79da115ae203a5a27fabfbb80d8 (patch)
tree44355955a999a59f4a8895da822d58ecfb53b559 /compiler
parent8f377ccdec8b12ecf50b7ff7bdee4f480d1ec993 (diff)
downloadhaskell-b475be321106f79da115ae203a5a27fabfbb80d8.tar.gz
desugar code even when -fno-code is used; fixes #8101
We need to desugar the code, or we don't get the warnings from the desugarer.
Diffstat (limited to 'compiler')
-rw-r--r--compiler/deSugar/Desugar.lhs7
-rw-r--r--compiler/main/HscMain.hs4
2 files changed, 3 insertions, 8 deletions
diff --git a/compiler/deSugar/Desugar.lhs b/compiler/deSugar/Desugar.lhs
index bb70aaac7e..b65304a118 100644
--- a/compiler/deSugar/Desugar.lhs
+++ b/compiler/deSugar/Desugar.lhs
@@ -92,12 +92,7 @@ deSugar hsc_env
; let export_set = availsToNameSet exports
; let target = hscTarget dflags
; let hpcInfo = emptyHpcInfo other_hpc_info
- ; (msgs, mb_res)
- <- case target of
- HscNothing ->
- return (emptyMessages,
- Just ([], nilOL, [], [], NoStubs, hpcInfo, emptyModBreaks))
- _ -> do
+ ; (msgs, mb_res) <- do
let want_ticks = gopt Opt_Hpc dflags
|| target == HscInterpreted
diff --git a/compiler/main/HscMain.hs b/compiler/main/HscMain.hs
index d94fc7842f..2c2df87b7c 100644
--- a/compiler/main/HscMain.hs
+++ b/compiler/main/HscMain.hs
@@ -637,6 +637,7 @@ hscCompileOneShot hsc_env extCore_filename mod_summary src_changed
compile mb_old_hash reason = runHsc hsc_env' $ do
liftIO $ msg reason
tc_result <- genericHscFrontend mod_summary
+ guts0 <- hscDesugar' (ms_location mod_summary) tc_result
dflags <- getDynFlags
case hscTarget dflags of
HscNothing -> return HscNotGeneratingCode
@@ -647,8 +648,7 @@ hscCompileOneShot hsc_env extCore_filename mod_summary src_changed
liftIO $ hscWriteIface dflags iface changed mod_summary
return HscUpdateBoot
_ ->
- do guts0 <- hscDesugar' (ms_location mod_summary) tc_result
- guts <- hscSimplify' guts0
+ do guts <- hscSimplify' guts0
(iface, changed, _details, cgguts) <- hscNormalIface' extCore_filename guts mb_old_hash
liftIO $ hscWriteIface dflags iface changed mod_summary
return $ HscRecomp cgguts mod_summary