projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
minor cleanup; remove one use of fromJust
[ghc-hetmet.git]
/
ghc
/
compiler
/
rename
/
RnBinds.lhs
diff --git
a/ghc/compiler/rename/RnBinds.lhs
b/ghc/compiler/rename/RnBinds.lhs
index
1ea8f61
..
13035e7
100644
(file)
--- a/
ghc/compiler/rename/RnBinds.lhs
+++ b/
ghc/compiler/rename/RnBinds.lhs
@@
-44,7
+44,7
@@
import BasicTypes ( RecFlag(..) )
import Digraph ( SCC(..), stronglyConnComp )
import Bag
import Outputable
import Digraph ( SCC(..), stronglyConnComp )
import Bag
import Outputable
-import Maybes ( orElse, fromJust, isJust )
+import Maybes ( orElse, isJust )
import Util ( filterOut )
import Monad ( foldM )
\end{code}
import Util ( filterOut )
import Monad ( foldM )
\end{code}
@@
-315,9
+315,8
@@
depAnalBinds binds_w_dus
keyd_nodes = bagToList binds_w_dus `zip` [0::Int ..]
keyd_nodes = bagToList binds_w_dus `zip` [0::Int ..]
- edges = [ (node, key, [fromJust mb_key | n <- nameSetToList uses,
- let mb_key = lookupNameEnv key_map n,
- isJust mb_key ])
+ edges = [ (node, key, [key | n <- nameSetToList uses,
+ Just key <- [lookupNameEnv key_map n] ])
| (node@(_,_,uses), key) <- keyd_nodes ]
key_map :: NameEnv Int -- Which binding it comes from
| (node@(_,_,uses), key) <- keyd_nodes ]
key_map :: NameEnv Int -- Which binding it comes from
@@
-604,11
+603,12
@@
rnGRHS ctxt = wrapLocFstM (rnGRHS' ctxt)
rnGRHS' ctxt (GRHS guards rhs)
= do { opt_GlasgowExts <- doptM Opt_GlasgowExts
rnGRHS' ctxt (GRHS guards rhs)
= do { opt_GlasgowExts <- doptM Opt_GlasgowExts
- ; checkM (opt_GlasgowExts || is_standard_guard guards)
- (addWarn (nonStdGuardErr guards))
-
; ((guards', rhs'), fvs) <- rnStmts (PatGuard ctxt) guards $
rnLExpr rhs
; ((guards', rhs'), fvs) <- rnStmts (PatGuard ctxt) guards $
rnLExpr rhs
+
+ ; checkM (opt_GlasgowExts || is_standard_guard guards')
+ (addWarn (nonStdGuardErr guards'))
+
; return (GRHS guards' rhs', fvs) }
where
-- Standard Haskell 1.4 guards are just a single boolean
; return (GRHS guards' rhs', fvs) }
where
-- Standard Haskell 1.4 guards are just a single boolean
@@
-654,8
+654,7
@@
bindsInHsBootFile mbinds
= hang (ptext SLIT("Bindings in hs-boot files are not allowed"))
2 (ppr mbinds)
= hang (ptext SLIT("Bindings in hs-boot files are not allowed"))
2 (ppr mbinds)
-nonStdGuardErr guard
- = hang (ptext
- SLIT("accepting non-standard pattern guards (-fglasgow-exts to suppress this message)")
- ) 4 (ppr guard)
+nonStdGuardErr guards
+ = hang (ptext SLIT("accepting non-standard pattern guards (-fglasgow-exts to suppress this message)"))
+ 4 (interpp'SP guards)
\end{code}
\end{code}