ByteArray# return value can lead to trouble
GHC in some circumstances has problems with functions
returning values of type `ByteArray#'. The following is
bogus code, but it shouldn't result in a panic:
module Test
where
import PrelGHC
import PrelBase
import PrelST
die :: Int -> ByteArray#
{-# NOINLINE die #-}
die _ = undefined
foo = I# (indexIntArray# (die 0) 0#)
With GHC 4.11 (couple of weeks old), I get
ghc: panic! (the `impossible' happened):
mkPrimReturnCode: Upd c_sPk
when compiling with
ghc -c -O -fglasgow-exts test.hs
For the problem to occur, both -O and the NOINLINE pragma are
required.
Trac metadata
| Trac field | Value |
|---|---|
| Version | None |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | ResolvedFixed |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |