remove Haddock-lexing/parsing/renaming from GHC
[ghc-hetmet.git] / compiler / main / HeaderInfo.hs
index 89f4661..9262884 100644 (file)
@@ -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
@@ -123,8 +126,9 @@ lazyGetToks dflags filename handle = do
                   _other    -> do rest <- lazyLexBuf handle state' eof
                                   return (t : rest)
       _ | not eof   -> getMore handle state
-        | otherwise -> return []
-  
+        | otherwise -> return [L (last_loc state) ITeof]
+                         -- parser assumes an ITeof sentinel at the end
+
   getMore :: Handle -> PState -> IO [Located Token]
   getMore handle state = do
      -- pprTrace "getMore" (text (show (buffer state))) (return ())