Bad Beta Expand and the Impossible
Bad things happen with the following program, in
combination with -O2 -funfolding-use-threshold30
-funbox-strict-fields
import Parsec
data GMLToken = TBody ()
token :: Parser GMLToken
token = do { return (TBody undefined) }
GHC 5.0 sez:
Bad eta expand
ParsecError.zdwParseError{-rj0-}
ww1{-rls-} (PrelBase.zdwZMZN{-6n-} @
ParsecError.Message{-rj8-})
ParsecError.ParseError{-rgd-}
Bad eta expand
Parsec.zdwState{-rcs-} ww{-rlt-} ww1{-rls-}
Parsec.State{-rct-}
Bad eta expand
Parsec.zdwOk{-rcz-}
@ Parse.GMLToken{-r2-} w{-rlr-} tpl{-rlq-}
a1{-rlp-}
Parsec.Reply{-rcB-} Parse.GMLToken{-r2-}
ghc-5.00: panic! (the `impossible' happened, GHC
version 5.00):
/tmp/ghc8815.lpp:1469: Non-exhaustive patterns in
function cat_evals
Deleting any of the options makes the problem go away.
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 |
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information