[project @ 2006-01-06 16:30:17 by simonmar]
[ghc-hetmet.git] / ghc / compiler / cmm / PprCmm.hs
index f38eb30..6e8367d 100644 (file)
@@ -51,6 +51,7 @@ import FastString   ( mkFastString )
 import Data.List    ( intersperse, groupBy )
 import IO           ( Handle )
 import Maybe       ( isJust )
+import Data.Char    ( chr )
 
 pprCmms :: [Cmm] -> SDoc
 pprCmms cmms = pprCode CStyle (vcat (intersperse separator $ map ppr cmms))
@@ -317,7 +318,6 @@ pprExpr9 e =
         CmmReg    reg       -> ppr reg
         CmmRegOff reg off   -> parens (ppr reg <+> char '+' <+> int off)
        CmmMachOp mop args  -> genMachOp mop args
-       e                   -> parens (pprExpr e)
 
 genMachOp :: MachOp -> [CmmExpr] -> SDoc
 genMachOp mop args
@@ -351,7 +351,6 @@ infixMachOp mop
             MO_Xor    _ -> Just $ char '^'
             MO_Not    _ -> Just $ char '~'
             MO_S_Neg  _ -> Just $ char '-' -- there is no unsigned neg :)
-           MO_Not    _ -> Just $ char '~'
             _ -> Nothing
 
 -- --------------------------------------------------------------------------
@@ -393,7 +392,8 @@ pprStatic s = case s of
     CmmUninitialised i -> nest 4 $ text "I8" <> brackets (int i)
     CmmAlign i         -> nest 4 $ text "align" <+> int i
     CmmDataLabel clbl  -> pprCLabel clbl <> colon
-    CmmString s'       -> nest 4 $ text "I8[]" <+> doubleQuotes (text s')
+    CmmString s'       -> nest 4 $ text "I8[]" <+> 
+                          doubleQuotes (text (map (chr.fromIntegral) s'))
 
 -- --------------------------------------------------------------------------
 -- Registers, whether local (temps) or global
@@ -434,8 +434,6 @@ pprGlobalReg gr
         BaseReg        -> ptext SLIT("BaseReg")
         PicBaseReg     -> ptext SLIT("PicBaseReg")
 
-        _ -> panic $ "PprCmm.pprGlobalReg: unknown global reg"
-
 -- --------------------------------------------------------------------------
 -- data sections
 --