Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
jberryman
GHC
Commits
61d8dc50
Commit
61d8dc50
authored
Jan 13, 2003
by
simonpj
Browse files
[project @ 2003-01-13 14:12:31 by simonpj]
Bale out earlier if main is not in scope (fixes several test failures)
parent
732cf22e
Changes
1
Hide whitespace changes
Inline
Side-by-side
ghc/compiler/typecheck/TcRnDriver.lhs
View file @
61d8dc50
...
...
@@ -1078,14 +1078,16 @@ check_main ghci_mode tcg_env
| mod_name /= mAIN_Name
= return (tcg_env, emptyFVs)
-- Check that 'main' is in scope
-- It might be imported from another module!
--
-- We use a guard for this (rather than letting lookupSrcName fail)
-- because it's not an error in ghci)
| not (main_RDR_Unqual `elemRdrEnv` rdr_env)
= do { complain_no_main; return (tcg_env, emptyFVs) }
| otherwise
= do { -- Check that 'main' is in scope
-- It might be imported from another module!
main_name <- lookupSrcName main_RDR_Unqual ;
failIfErrsM ;
= do { main_name <- lookupSrcName main_RDR_Unqual ;
tcg_env <- importSupportingDecls (unitFV runIOName) ;
setGblEnv tcg_env $ do {
...
...
@@ -1116,8 +1118,10 @@ check_main ghci_mode tcg_env
rdr_env = tcg_rdr_env tcg_env
complain_no_main | ghci_mode == Interactive = return ()
| otherwise =
addErr
noMainMsg
| otherwise =
failWithTc
noMainMsg
-- In interactive mode, don't worry about the absence of 'main'
-- In other modes, fail altogether, so that we don't go on
-- and complain a second time when processing the export list.
mainCtxt = ptext SLIT("When checking the type of 'main'")
noMainMsg = ptext SLIT("No 'main' defined in module Main")
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment