diff options
-rw-r--r-- | compiler/basicTypes/Literal.lhs | 7 | ||||
-rw-r--r-- | compiler/cmm/PprCmmExpr.hs | 3 |
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 '-' |