X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fmain%2FHeaderInfo.hs;h=597253ee01aec6a62143d03f6c6821b58be99c42;hp=5f4fc7c48baaf629799afc638b210ef1d9510233;hb=2fe38b5fb0957f9428864afd69ad3ccd82fae3d0;hpb=e213baf0e233efca39d627efcbabeeaac14f3e5c diff --git a/compiler/main/HeaderInfo.hs b/compiler/main/HeaderInfo.hs index 5f4fc7c..597253e 100644 --- a/compiler/main/HeaderInfo.hs +++ b/compiler/main/HeaderInfo.hs @@ -55,7 +55,7 @@ getImports :: GhcMonad m => -> m ([Located (ImportDecl RdrName)], [Located (ImportDecl RdrName)], Located ModuleName) -- ^ The source imports, normal imports, and the module name. getImports dflags buf filename source_filename = do - let loc = mkSrcLoc (mkFastString filename) 1 0 + let loc = mkSrcLoc (mkFastString filename) 1 1 case unP parseHeader (mkPState buf loc dflags) of PFailed span err -> parseError span err POk pst rdr_module -> do @@ -68,9 +68,9 @@ getImports dflags buf filename source_filename = do then liftIO $ throwIO $ mkSrcErr errs else case rdr_module of - L _ (HsModule mb_mod _ imps _ _ _ _) -> + L _ (HsModule mb_mod _ imps _ _ _) -> let - main_loc = mkSrcLoc (mkFastString source_filename) 1 0 + main_loc = mkSrcLoc (mkFastString source_filename) 1 1 mod = mb_mod `orElse` L (srcLocSpan main_loc) mAIN_NAME (src_idecls, ord_idecls) = partition (ideclSource.unLoc) imps ordinary_imps = filter ((/= moduleName gHC_PRIM) . unLoc . ideclName . unLoc) @@ -109,7 +109,7 @@ lazyGetToks dflags filename handle = do buf <- hGetStringBufferBlock handle blockSize unsafeInterleaveIO $ lazyLexBuf handle (pragState dflags buf loc) False where - loc = mkSrcLoc (mkFastString filename) 1 0 + loc = mkSrcLoc (mkFastString filename) 1 1 lazyLexBuf :: Handle -> PState -> Bool -> IO [Located Token] lazyLexBuf handle state eof = do @@ -141,7 +141,7 @@ lazyGetToks dflags filename handle = do getToks :: DynFlags -> FilePath -> StringBuffer -> [Located Token] getToks dflags filename buf = lexAll (pragState dflags buf loc) where - loc = mkSrcLoc (mkFastString filename) 1 0 + loc = mkSrcLoc (mkFastString filename) 1 1 lexAll state = case unP (lexer return) state of POk _ t@(L _ ITeof) -> [t] @@ -237,13 +237,16 @@ languagePragParseError :: SrcSpan -> a languagePragParseError loc = throw $ mkSrcErr $ unitBag $ (mkPlainErrMsg loc $ - text "cannot parse LANGUAGE pragma: comma-separated list expected") + vcat [ text "Cannot parse LANGUAGE pragma" + , text "Expecting comma-separated list of language options," + , text "each starting with a capital letter" + , nest 2 (text "E.g. {-# LANGUAGE RecordPuns, Generics #-}") ]) unsupportedExtnError :: SrcSpan -> String -> a unsupportedExtnError loc unsup = throw $ mkSrcErr $ unitBag $ mkPlainErrMsg loc $ - text "unsupported extension: " <> text unsup + text "Unsupported extension: " <> text unsup optionsErrorMsgs :: [String] -> [Located String] -> FilePath -> Messages