GHC panic with UnliftedFFITypes+CApiFFI
The following code fails to compile with at least GHC 7.6, 7.8 and HEAD:
import GHC.Prim
import Foreign.C
type GmpLimb = CULong
type GmpSize = CLong
-- mp_limb_t mpn_add_1 (mp_limb_t *rp, const mp_limb_t *s1p, mp_size_t n, mp_limb_t s2limb)
foreign import capi unsafe "gmp.h mpn_add_1"
c_mpn_add_1 :: MutableByteArray# s -> ByteArray# -> GmpSize -> GmpLimb -> IO GmpLimb
with the following compile error message:
ghc: panic! (the 'impossible' happened)
(GHC version 7.9.20140704 for x86_64-unknown-linux):
toCType MutableByteArray# s
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
Otoh, replacing capi with ccall makes the code compile just fine
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.6.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |