From 14ec5696ff3bafc1ec0f2277f0b2e4ce6c59e462 Mon Sep 17 00:00:00 2001 From: Twan van Laarhoven Date: Sat, 26 Jan 2008 19:32:09 +0000 Subject: [PATCH] Fixed warnings in basicTypes/Literal, except for incomplete pattern matches --- compiler/basicTypes/Literal.lhs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/compiler/basicTypes/Literal.lhs b/compiler/basicTypes/Literal.lhs index ec1d7c4..774ab04 100644 --- a/compiler/basicTypes/Literal.lhs +++ b/compiler/basicTypes/Literal.lhs @@ -5,7 +5,7 @@ \section[Literal]{@Literal@: Machine literals (unboxed, of course)} \begin{code} -{-# OPTIONS -w #-} +{-# OPTIONS -fno-warn-incomplete-patterns #-} -- The above warning supression flag is a temporary kludge. -- While working on this module you are encouraged to remove it and fix -- any warnings in the module. See @@ -230,7 +230,7 @@ isZeroLit (MachWord 0) = True isZeroLit (MachWord64 0) = True isZeroLit (MachFloat 0) = True isZeroLit (MachDouble 0) = True -isZeroLit other = False +isZeroLit _ = False \end{code} Coercions @@ -283,14 +283,14 @@ litIsTrivial :: Literal -> Bool -- c.f. CoreUtils.exprIsTrivial -- False principally of strings litIsTrivial (MachStr _) = False -litIsTrivial other = True +litIsTrivial _ = True litIsDupable :: Literal -> Bool -- True if code space does not go bad if we duplicate this literal -- c.f. CoreUtils.exprIsDupable -- Currently we treat it just like litIsTrivial litIsDupable (MachStr _) = False -litIsDupable other = True +litIsDupable _ = True litFitsInChar :: Literal -> Bool litFitsInChar (MachInt i) @@ -329,6 +329,7 @@ literalType (MachLabel _ _) = addrPrimTy Comparison ~~~~~~~~~~ \begin{code} +cmpLit :: Literal -> Literal -> Ordering cmpLit (MachChar a) (MachChar b) = a `compare` b cmpLit (MachStr a) (MachStr b) = a `compare` b cmpLit (MachNullAddr) (MachNullAddr) = EQ @@ -342,6 +343,7 @@ cmpLit (MachLabel a _) (MachLabel b _) = a `compare` b cmpLit lit1 lit2 | litTag lit1 <# litTag lit2 = LT | otherwise = GT +litTag :: Literal -> FastInt litTag (MachChar _) = _ILIT(1) litTag (MachStr _) = _ILIT(2) litTag (MachNullAddr) = _ILIT(3) @@ -360,6 +362,7 @@ litTag (MachLabel _ _) = _ILIT(10) exceptions: MachFloat gets an initial keyword prefix. \begin{code} +pprLit :: Literal -> SDoc pprLit (MachChar ch) = pprHsChar ch pprLit (MachStr s) = pprHsString s pprLit (MachInt i) = pprIntVal i -- 1.7.10.4