Skip to content

Instantly share code, notes, and snippets.

@idontgetoutmuch
Created February 9, 2017 19:55
Show Gist options
  • Select an option

  • Save idontgetoutmuch/ab554b81c66e5d39db5d1158774d9e29 to your computer and use it in GitHub Desktop.

Select an option

Save idontgetoutmuch/ab554b81c66e5d39db5d1158774d9e29 to your computer and use it in GitHub Desktop.
Stage 1 Panic
ghc-stage1: panic! (the 'impossible' happened)
(GHC version 8.1.20170209 for x86_64-apple-darwin):
Iface Lint failure
In interface for GHC.Float.ConversionUtils
Unfolding of elimZerosInt#
<no location info>: warning:
In the expression: <=# e_a5zk t_a5zt
Argument value doesn't match argument type:
Fun type: Int# -> Int#
Arg type: Double#
Arg: t_a5zt
elimZerosInt# = \ (n_a5zj :: Int#) (e_a5zk :: Int#) ->
case zeroCountArr of wild_a5zm { BA ba_a5zr ->
case indexDoubleArray#
ba_a5zr (word2Int# (and# 255## (int2Word# n_a5zj)))
of t_a5zt
{ __DEFAULT ->
case numSparks# @ Bool (<=# e_a5zk t_a5zt) of wild1_a5zu {
False ->
case numSparks# @ Bool (<# t_a5zt 8#) of wild2_a5zx {
False ->
joinrec {
elimZerosInt#1_a5zz :: Int# -> Int# -> (# Integer, Int# #)
[LclId[JoinId(2)], Arity=2, Str=<S,U><S,U>]
elimZerosInt#1_a5zz (n1_a5zA :: Int#) (e1_a5zB :: Int#) =
case indexDoubleArray#
ba_a5zr (word2Int# (and# 255## (int2Word# n1_a5zA)))
of t1_a5zD
{ __DEFAULT ->
case numSparks# @ Bool (<=# e1_a5zB t1_a5zD) of wild3_a5zE {
False ->
case numSparks# @ Bool (<# t1_a5zD 8#) of wild4_a5zH {
False ->
jump elimZerosInt#1_a5zz
(uncheckedIShiftRA# n1_a5zA 8#) (-# e1_a5zB 8#);
True ->
(# smallInteger (uncheckedIShiftRA# n1_a5zA t1_a5zD),
-# e1_a5zB t1_a5zD #)
};
True ->
(# smallInteger (uncheckedIShiftRA# n1_a5zA e1_a5zB), 0# #)
}
}; } in
jump elimZerosInt#1_a5zz
(uncheckedIShiftRA# n_a5zj 8#) (-# e_a5zk 8#);
True ->
(# smallInteger (uncheckedIShiftRA# n_a5zj t_a5zt),
-# e_a5zk t_a5zt #)
};
True -> (# smallInteger (uncheckedIShiftRA# n_a5zj e_a5zk), 0# #)
}
}
}
Iface expr = \ (n :: Int#) (e :: Int#) ->
case zeroCountArr of wild { BA ba ->
case indexDoubleArray#
ba
(word2Int# (and# 255## (int2Word# n))) of t { DEFAULT ->
case numSparks# @ Bool (<=# e t) of wild1 {
False
-> case numSparks# @ Bool (<# t 8#) of wild2 {
False
-> letrec {
elimZerosInt#1 :: Int# -> Int# -> (# Integer, Int# #)
<join 2> {- Arity: 2, Strictness: <S,U><S,U> -}
= \ (n1 :: Int#) (e1 :: Int#) ->
case indexDoubleArray#
ba
(word2Int# (and# 255## (int2Word# n1))) of t1 { DEFAULT ->
case numSparks# @ Bool (<=# e1 t1) of wild3 {
False
-> case numSparks# @ Bool (<# t1 8#) of wild4 {
False -> elimZerosInt#1 (uncheckedIShiftRA# n1 8#) (-# e1 8#)
True
-> (# smallInteger (uncheckedIShiftRA# n1 t1), -# e1 t1 #) }
True -> (# smallInteger (uncheckedIShiftRA# n1 e1), 0# #) } }
} in
elimZerosInt#1 (uncheckedIShiftRA# n 8#) (-# e 8#)
True -> (# smallInteger (uncheckedIShiftRA# n t), -# e t #) }
True -> (# smallInteger (uncheckedIShiftRA# n e), 0# #) } } }
Call stack:
CallStack (from HasCallStack):
prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1188:58 in ghc:Outputable
callStackDoc, called at compiler/utils/Outputable.hs:1192:37 in ghc:Outputable
pprPanic, called at compiler/iface/TcIface.hs:1575:33 in ghc:TcIface
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
make[1]: *** [libraries/base/dist-install/build/GHC/Float.o] Error 1
make: *** [all] Error 2
~/ghc $
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment