X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Frename%2FRnExpr.lhs;h=a128c3561f4adce8928604f746a442eb90ec5cf7;hb=5d3051c66796dcf884b052f9e4afc3ed19b9f514;hp=59f70767fc23f7e5e68f2f90fa5d56a55b857a43;hpb=07806d2b66986825ff7c5cd51240f920d91ee2f9;p=ghc-hetmet.git diff --git a/ghc/compiler/rename/RnExpr.lhs b/ghc/compiler/rename/RnExpr.lhs index 59f7076..a128c35 100644 --- a/ghc/compiler/rename/RnExpr.lhs +++ b/ghc/compiler/rename/RnExpr.lhs @@ -35,9 +35,8 @@ import PrelNames ( thFAKE, hasKey, assertIdKey, assertErrorName, negateName, thenMName, bindMName, failMName ) import Name ( Name, nameOccName, nameIsLocalOrFrom ) import NameSet -import RdrName ( RdrName, emptyGlobalRdrEnv, plusGlobalRdrEnv, extendLocalRdrEnv, lookupLocalRdrEnv ) +import RdrName ( RdrName, emptyGlobalRdrEnv, extendLocalRdrEnv, lookupLocalRdrEnv ) import LoadIface ( loadHomeInterface ) -import UnicodeUtil ( stringToUtf8 ) import UniqFM ( isNullUFM ) import UniqSet ( emptyUniqSet ) import List ( nub ) @@ -256,14 +255,9 @@ Since all the symbols are reservedops we can simply reject them. We return a (bogus) EWildPat in each case. \begin{code} -rnExpr e@EWildPat = addErr (patSynErr e) `thenM_` - returnM (EWildPat, emptyFVs) - -rnExpr e@(EAsPat _ _) = addErr (patSynErr e) `thenM_` - returnM (EWildPat, emptyFVs) - -rnExpr e@(ELazyPat _) = addErr (patSynErr e) `thenM_` - returnM (EWildPat, emptyFVs) +rnExpr e@EWildPat = patSynErr e +rnExpr e@(EAsPat {}) = patSynErr e +rnExpr e@(ELazyPat {}) = patSynErr e \end{code} %************************************************************************ @@ -932,7 +926,7 @@ mkAssertErrorExpr = getSrcSpanM `thenM` \ sloc -> let expr = HsApp (L sloc (HsVar assertErrorName)) (L sloc (HsLit msg)) - msg = HsStringPrim (mkFastString (stringToUtf8 (showSDoc (ppr sloc)))) + msg = HsStringPrim (mkFastString (showSDoc (ppr sloc))) in returnM (expr, emptyFVs) \end{code} @@ -944,9 +938,9 @@ mkAssertErrorExpr %************************************************************************ \begin{code} -patSynErr e - = sep [ptext SLIT("Pattern syntax in expression context:"), - nest 4 (ppr e)] +patSynErr e = do { addErr (sep [ptext SLIT("Pattern syntax in expression context:"), + nest 4 (ppr e)]) + ; return (EWildPat, emptyFVs) } parStmtErr = addErr (ptext SLIT("Illegal parallel list comprehension: use -fglasgow-exts"))