Ticket #2378 (closed merge: fixed)
panic: lookupVers1, when standalone deriving Typeable and Data
| Reported by: | guest | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 6.8 branch |
| Component: | Compiler | Version: | 6.8.3 |
| Keywords: | Cc: | benedikt.huber@…, claus | |
| Operating System: | MacOS X | Architecture: | x86 |
| Type of failure: | Difficulty: | Unknown | |
| Test Case: | deriving/should_compile/T2378 | Blocked By: | |
| Blocking: | Related Tickets: |
Description
When using StandaloneDeriving and DeriveDataTypeable on a rather large AST, occasionally GHC 6.8.2 and GHC 6.8.3 RC bail with
[13 of 24] Compiling Language.C.AST.Generic
...
ghc-6.8.2.20080527: panic! (the 'impossible' happened)
(GHC version 6.8.2.20080527 for i386-apple-darwin):
lookupVers1 language-c-test-0.2:Language.C.AST.Constants $cFlags{v}
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
This is probably related to ticket #2011 (marked as milestone 6.8.3), clean and rebuild resolves the problem temporarily.
I haven't been able to extract a small test case, but the problematic source is available online at
http://code.haskell.org/language-c/src/Language/C/AST/Generic.hs
The bug is reproducible: (cabal) build, comment out the last 6 'deriving Data' clauses (line 96-101), build again, uncomment, build again.
Side notes: There is a warning (but no error !) when deriving a Typeable1 instance (maybe related to #1825)
[13 of 24] Compiling Language.C.AST.Generic
Var/Type length mismatch:
[f{tv i1lc} [tv]]
[]
... [as above]
Finally, in GHC 6.9 standalone deriving Data was unsupported as of 01042008:
[13 of 24] Compiling Language.C.AST.Generic Illegal binding of built-in syntax: $cCHeader
