X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FHeaderInfo.hs;h=c3c78ae59a3188168e5fcca76559ce90a2dd078a;hb=6a944ae7fe1e8e2e456c68717188463263f8978f;hp=0fd62f5a68f3cb26bda4389ccf2ad39018937fa6;hpb=56f147d470b4ea26dd279554eb71cf419579bce4;p=ghc-hetmet.git diff --git a/compiler/main/HeaderInfo.hs b/compiler/main/HeaderInfo.hs index 0fd62f5..c3c78ae 100644 --- a/compiler/main/HeaderInfo.hs +++ b/compiler/main/HeaderInfo.hs @@ -59,13 +59,16 @@ getImports dflags buf filename source_filename = do case unP parseHeader (mkPState buf loc dflags) of PFailed span err -> parseError span err POk pst rdr_module -> do - let ms@(warns, errs) = getMessages pst - logWarnings warns + let _ms@(_warns, errs) = getMessages pst + -- don't log warnings: they'll be reported when we parse the file + -- for real. See #2500. + ms = (emptyBag, errs) + -- logWarnings warns if errorsFound dflags ms 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 mod = mb_mod `orElse` L (srcLocSpan main_loc) mAIN_NAME @@ -234,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