summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/basicTypes/Literal.lhs7
-rw-r--r--compiler/cmm/PprCmmExpr.hs3
2 files changed, 6 insertions, 4 deletions
diff --git a/compiler/basicTypes/Literal.lhs b/compiler/basicTypes/Literal.lhs
index da8685e6b3..b25c60f74a 100644
--- a/compiler/basicTypes/Literal.lhs
+++ b/compiler/basicTypes/Literal.lhs
@@ -59,7 +59,8 @@ import Data.Int
import Data.Ratio
import Data.Word
import Data.Char
-import Data.Data( Data, Typeable )
+import Data.Data ( Data, Typeable )
+import Numeric ( fromRat )
\end{code}
@@ -390,8 +391,8 @@ pprLit (MachInt i) = pprIntVal i
pprLit (MachInt64 i) = ptext (sLit "__int64") <+> integer i
pprLit (MachWord w) = ptext (sLit "__word") <+> integer w
pprLit (MachWord64 w) = ptext (sLit "__word64") <+> integer w
-pprLit (MachFloat f) = ptext (sLit "__float") <+> rational f
-pprLit (MachDouble d) = rational d
+pprLit (MachFloat f) = ptext (sLit "__float") <+> float (fromRat f)
+pprLit (MachDouble d) = double (fromRat d)
pprLit (MachNullAddr) = ptext (sLit "__NULL")
pprLit (MachLabel l mb fod) = ptext (sLit "__label") <+> b <+> ppr fod
where b = case mb of
diff --git a/compiler/cmm/PprCmmExpr.hs b/compiler/cmm/PprCmmExpr.hs
index 0614e8e0b0..763034554f 100644
--- a/compiler/cmm/PprCmmExpr.hs
+++ b/compiler/cmm/PprCmmExpr.hs
@@ -45,6 +45,7 @@ import Outputable
import FastString
import Data.Maybe
+import Numeric ( fromRat )
-----------------------------------------------------------------------------
@@ -191,7 +192,7 @@ pprLit lit = case lit of
, ppUnless (rep == wordWidth) $
space <> dcolon <+> ppr rep ]
- CmmFloat f rep -> hsep [ rational f, dcolon, ppr rep ]
+ CmmFloat f rep -> hsep [ double (fromRat f), dcolon, ppr rep ]
CmmLabel clbl -> pprCLabel clbl
CmmLabelOff clbl i -> pprCLabel clbl <> ppr_offset i
CmmLabelDiffOff clbl1 clbl2 i -> pprCLabel clbl1 <> char '-'