base: kevent.filter is signed
authorBen Gamari <ben@smart-cactus.org>
Tue, 7 Mar 2017 14:31:42 +0000 (09:31 -0500)
committerBen Gamari <ben@smart-cactus.org>
Tue, 7 Mar 2017 18:32:33 +0000 (13:32 -0500)
I checked both the FreeBSD and Darwin manpages; it's signed in both cases.
This was producing validation failures on OS X due to the new literal
range-check.

libraries/base/GHC/Event/KQueue.hsc

index d6461c2..0d5350e 100644 (file)
@@ -186,10 +186,10 @@ newtype Flag = Flag Word16
  , flagOneshot = EV_ONESHOT
  }
 
-#if SIZEOF_KEV_FILTER == 4 /*kevent.filter: uint32_t or uint16_t. */
-newtype Filter = Filter Word32
+#if SIZEOF_KEV_FILTER == 4 /*kevent.filter: int32_t or int16_t. */
+newtype Filter = Filter Int32
 #else
-newtype Filter = Filter Word16
+newtype Filter = Filter Int16
 #endif
     deriving (Bits, FiniteBits, Eq, Num, Show, Storable)