From a28f108105065f926702dd03d737b60f298cfa3c Mon Sep 17 00:00:00 2001 From: Tim Chevalier Date: Sun, 17 Feb 2008 22:38:44 +0000 Subject: [PATCH] Print better error message for reading External Core GHC panicked with a "Prelude.undefined" error message if you tried to compile a .hcr file. Since support for reading ExternalCore simply does not exist, I added an error message to say that. Please merge to 6.8. Thanks. --- compiler/main/HscMain.lhs | 37 +++---------------------------------- 1 file changed, 3 insertions(+), 34 deletions(-) diff --git a/compiler/main/HscMain.lhs b/compiler/main/HscMain.lhs index 9b984ed..1b7df1b 100644 --- a/compiler/main/HscMain.lhs +++ b/compiler/main/HscMain.lhs @@ -64,7 +64,7 @@ import StringBuffer import Parser import Lexer import SrcLoc ( mkSrcLoc ) -import TcRnDriver ( tcRnModule, tcRnExtCore ) +import TcRnDriver ( tcRnModule ) import TcIface ( typecheckIface ) import TcRnMonad ( initIfaceCheck, TcGblEnv(..) ) import IfaceEnv ( initNameCache ) @@ -101,8 +101,6 @@ import Outputable import HscStats ( ppSourceStats ) import HscTypes import MkExternalCore ( emitExternalCore ) -import ParserCore -import ParserCoreUtils import FastString import LazyUniqFM ( emptyUFM ) import UniqSupply ( initUs_ ) @@ -409,11 +407,8 @@ genComp :: (ModGuts -> Comp (Maybe a)) genComp backend boot_backend = do mod_summary <- gets compModSummary case ms_hsc_src mod_summary of - ExtCoreFile -> do - mb_modguts <- hscCoreFrontEnd - case mb_modguts of - Nothing -> return Nothing - Just guts -> backend guts + ExtCoreFile -> do + panic "GHC does not currently support reading External Core files" _not_core -> do mb_tc <- hscFileFrontEnd case mb_tc of @@ -484,32 +479,6 @@ batchMsg mb_mod_index recomp -------------------------------------------------------------- -- FrontEnds -------------------------------------------------------------- - -hscCoreFrontEnd :: Comp (Maybe ModGuts) -hscCoreFrontEnd = - do hsc_env <- gets compHscEnv - mod_summary <- gets compModSummary - liftIO $ do - ------------------- - -- PARSE - ------------------- - inp <- readFile (ms_hspp_file mod_summary) - case parseCore inp 1 of - FailP s - -> do errorMsg (hsc_dflags hsc_env) (text s{-ToDo: wrong-}) - return Nothing - OkP rdr_module - ------------------- - -- RENAME and TYPECHECK - ------------------- - -> do (tc_msgs, maybe_tc_result) <- {-# SCC "TypeCheck" #-} - tcRnExtCore hsc_env rdr_module - printErrorsAndWarnings (hsc_dflags hsc_env) tc_msgs - case maybe_tc_result of - Nothing -> return Nothing - Just mod_guts -> return (Just mod_guts) -- No desugaring to do! - - hscFileFrontEnd :: Comp (Maybe TcGblEnv) hscFileFrontEnd = do hsc_env <- gets compHscEnv -- 1.7.10.4