[project @ 2004-08-17 15:23:47 by simonpj]
[ghc-hetmet.git] / ghc / compiler / main / ErrUtils.lhs
index 9c47296..bf9a663 100644 (file)
@@ -23,14 +23,14 @@ module ErrUtils (
 
 import Bag             ( Bag, bagToList, isEmptyBag, emptyBag )
 import SrcLoc          ( SrcSpan )
-import Util            ( sortLt )
+import Util            ( sortLe )
 import Outputable
 import qualified Pretty
 import SrcLoc          ( srcSpanStart )
 import CmdLineOpts     ( DynFlags(..), DynFlag(..), dopt,
                          opt_ErrorSpans )
 
-import List             ( replicate )
+import List             ( replicate, sortBy )
 import System          ( ExitCode(..), exitWith )
 import IO              ( hPutStr, stderr, stdout )
 
@@ -130,10 +130,13 @@ pprBagOfErrors bag_of_errors
                           errMsgContext = unqual } <- sorted_errs ]
     where
       bag_ls     = bagToList bag_of_errors
-      sorted_errs = sortLt occ'ed_before bag_ls
+      sorted_errs = sortLe occ'ed_before bag_ls
 
       occ'ed_before err1 err2 = 
-         LT == compare (head (errMsgSpans err1)) (head (errMsgSpans err1))
+         case compare (head (errMsgSpans err1)) (head (errMsgSpans err2)) of
+               LT -> True
+               EQ -> True
+               GT -> False
 
 pprBagOfWarnings :: Bag WarnMsg -> Pretty.Doc
 pprBagOfWarnings bag_of_warns = pprBagOfErrors bag_of_warns
@@ -178,9 +181,7 @@ dumpIfSet_core dflags flag hdr doc
 dumpIfSet_dyn :: DynFlags -> DynFlag -> String -> SDoc -> IO ()
 dumpIfSet_dyn dflags flag hdr doc
   | dopt flag dflags || verbosity dflags >= 4 
-  = if   flag `elem` [Opt_D_dump_stix, Opt_D_dump_asm]
-    then printForC stdout (mkDumpDoc hdr doc)
-    else printDump (mkDumpDoc hdr doc)
+  = printDump (mkDumpDoc hdr doc)
   | otherwise
   = return ()