diff --git a/Changes b/Changes
--- a/Changes
+++ b/Changes
@@ -1,3 +1,4 @@
+0.2.4:  Adjust to base-4.7, type of comparison primops changed
 0.2.3:  Adjust to base-4.6, location of quotRemInt changed
 0.2.2:  Full precision showing types
 0.2.1:  Typos in haddocks corrected
diff --git a/Text/FShow/RealFloat/Internals.hs b/Text/FShow/RealFloat/Internals.hs
--- a/Text/FShow/RealFloat/Internals.hs
+++ b/Text/FShow/RealFloat/Internals.hs
@@ -42,6 +42,10 @@
 integerLog2 = integerLogBase 2
 #endif
 
+#if __GLASGOW_HASKELL__ < 707
+isTrue# :: Bool -> Bool
+isTrue# = id
+#endif
 
 #if WORD_SIZE_IN_BITS == 32
 #define DIGITS       9
@@ -97,11 +101,11 @@
     !decshift@(I# d#) = showDigs - l10
     !binshift = e# +# d#
     !decMant
-        | d# <# 0# =
-            (if binshift <# 0#
+        | isTrue# (d# <# 0#) =
+            (if isTrue# (binshift <# 0#)
                 then shiftRInteger mant (negateInt# binshift)
                 else shiftLInteger mant binshift) `quot` expt5 (I# (negateInt# d#))
-        | binshift <# 0# =
+        | isTrue# (binshift <# 0#) =
             shiftRInteger (mant * expt5 decshift) (negateInt# binshift)
         | otherwise = shiftLInteger (mant * expt5 decshift) binshift
     !e10 = if decMant < expt10 (showDigs+1) then l10 else l10+1
diff --git a/floatshow.cabal b/floatshow.cabal
--- a/floatshow.cabal
+++ b/floatshow.cabal
@@ -7,7 +7,7 @@
 -- The package version. See the Haskell package versioning policy
 -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
 -- standards guiding when and how versions should be incremented.
-Version:             0.2.3
+Version:             0.2.4
 
 -- Constraint on the version of Cabal needed to build this package.
 Cabal-version:       >=1.6
@@ -75,7 +75,7 @@
                      Text.FShow.Raw
 
   -- Packages needed in order to build this package.
-  Build-depends:     base >= 4 && < 5, array >= 0.1 && < 0.5
+  Build-depends:     base >= 4 && < 5, array >= 0.1 && < 0.6
   if flag(gmp)
     Build-depends:   integer-gmp
   else
