[project @ 2004-08-25 10:37:06 by simonmar]
authorsimonmar <unknown>
Wed, 25 Aug 2004 10:37:06 +0000 (10:37 +0000)
committersimonmar <unknown>
Wed, 25 Aug 2004 10:37:06 +0000 (10:37 +0000)
fix braino in previous commit: we should cast the function result to
the right type, not just assume (W_).

ghc/compiler/cmm/PprC.hs

index cc70a9a..51e429b 100644 (file)
@@ -682,7 +682,8 @@ pprCall ppr_fn cconv results args vols
   where 
      ppr_results []     = empty
      ppr_results [(one,hint)] 
-        = pprExpr (CmmReg one) <> ptext SLIT(" = ") <> pprUnHint hint
+        = pprExpr (CmmReg one) <> ptext SLIT(" = ")
+                <> pprUnHint hint (cmmRegRep one)
      ppr_results _other = panic "pprCall: multiple results"
 
      pprArg (expr, PtrHint)
@@ -693,10 +694,10 @@ pprCall ppr_fn cconv results args vols
      pprArg (expr, _other)
        = pprExpr expr
 
-     pprUnHint PtrHint    = mkW_
-     pprUnHint SignedHint = mkW_
-     pprUnHint _          = empty
-       
+     pprUnHint PtrHint    rep = parens (machRepCType rep)
+     pprUnHint SignedHint rep = parens (machRepCType rep)
+     pprUnHint _          _   = empty
+
      save    = save_restore SLIT("CALLER_SAVE")
      restore = save_restore SLIT("CALLER_RESTORE")