GHC compiler error for 6.6
Simon Peyton-Jones
simonpj at microsoft.com
Tue Jan 23 09:38:32 EST 2007
Ah well.... If we can't reproduce it I guess we'll have to just hope it's ok. Certainly .hi files that are inconsistently recompiled can give rise to bizarre things.
Simon
| -----Original Message-----
| From: Chris Kuklewicz [mailto:haskell at list.mightyreason.com]
| Sent: 23 January 2007 14:28
| To: Simon Peyton-Jones
| Cc: glasgow-haskell-users at haskell.org
| Subject: Re: GHC compiler error for 6.6
|
| Simon Peyton-Jones wrote:
| > Oh yes, please do make a test case. That should never happen. Also use
| > -dcore-lint, which might well nail it closer to source
| >
| > Simon
|
| It may have been some weird version skew -- recompiling regex-parsec against the
| current regex-base seems to have cured it. So there is no problem now.
|
| Before I did that the error only occurred with -O1 and -O2 but not with -O0.
|
| The -dcore-lint results from when it failed:
|
| Reason:~/Documents/projects/haskell/develop/regex-unstable/regex-devel/regex-devel/quickcheck
| chrisk$ ghc -O1 -dcore-lint --make TestCase3.hs
| Reason:~/Documents/projects/haskell/develop/regex-unstable/regex-devel/regex-devel/quickcheck
| chrisk$ ghc -O1 -dcore-lint --make TestCase2.hs
| [1 of 1] Compiling Main ( TestCase2.hs, TestCase2.o )
|
| TestCase2.hs:31:0:
| Warning: No explicit method nor default method for `coarbitrary'
| In the instance declaration for `Arbitrary RegexSource'
|
| TestCase2.hs:58:0:
| Warning: No explicit method nor default method for `coarbitrary'
| In the instance declaration for `Arbitrary RegexString'
| ghc-6.6: panic! (the 'impossible' happened)
| (GHC version 6.6 for powerpc-apple-darwin):
| Iface Lint failure
| Unfolding of regex-parsec-0.85:Text.Regex.Parsec.String.$f1{v rUs} <no
| location info>:
|
| In the expression: regex-base-0.80:Text.Regex.Base.RegexLike.:DRegexLike{v
| r1Ws} [gid]
| @ regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM}
| @ base:GHC.Base.String{tc rJ7}
| regex-base-0.80:Text.Regex.Base.RegexLike.$f4{v r1WS} [gid]
| regex-parsec-0.85:Text.Regex.Parsec.String.matchAll{v
| rVc} [gid]
| Argument value doesn't match argument type:
| Fun type:
| (regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM}
| -> base:GHC.Base.String{tc rJ7}
| -> base:Data.Maybe.Maybe{tc rY9}
| regex-base-0.80:Text.Regex.Base.RegexLike.MatchArray{tc rVT})
| -> (regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM}
| -> base:GHC.Base.String{tc rJ7}
| -> [regex-base-0.80:Text.Regex.Base.RegexLike.MatchArray{tc rVT}])
| -> (regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM}
| -> base:GHC.Base.String{tc rJ7}
| -> base:GHC.Base.Int{(w) tc 3J})
| -> (regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM}
| -> base:GHC.Base.String{tc rJ7}
| -> base:GHC.Base.Bool{(w) tc 3c})
| -> (regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM}
| -> base:GHC.Base.String{tc rJ7}
| -> [regex-base-0.80:Text.Regex.Base.RegexLike.MatchText{tc rVS}
| base:GHC.Base.String{tc rJ7}])
| -> (regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM}
| -> base:GHC.Base.String{tc rJ7}
| -> base:Data.Maybe.Maybe{tc rY9} (base:GHC.Base.String{tc rJ7},
|
| regex-base-0.80:Text.Regex.Base.RegexLike.MatchText{tc rVS}
| base:GHC.Base.String{tc rJ7},
| base:GHC.Base.String{tc rJ7}))
| -> (regex-base-0.80:Text.Regex.Base.RegexLike.:TRegexLike{tc r1Wo})
| regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM}
|
| base:GHC.Base.String{tc rJ7}
| Arg type:
| regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM}
| -> base:GHC.Base.String{tc rJ7}
| -> [regex-base-0.80:Text.Regex.Base.RegexLike.MatchArray{tc rVT}]
| Arg:
| regex-parsec-0.85:Text.Regex.Parsec.String.matchAll{v rVc} [gid]
|
| Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
|
| Reason:~/Documents/projects/haskell/develop/regex-unstable/regex-devel/regex-devel/quickcheck
| chrisk$ ghc -O1 -dcore-lint --make TestCase4.hs
| [1 of 1] Compiling Main ( TestCase4.hs, TestCase4.o )
|
| TestCase4.hs:31:0:
| Warning: No explicit method nor default method for `coarbitrary'
| In the instance declaration for `Arbitrary RegexSource'
|
| TestCase4.hs:58:0:
| Warning: No explicit method nor default method for `coarbitrary'
| In the instance declaration for `Arbitrary RegexString'
| ghc-6.6: panic! (the 'impossible' happened)
| (GHC version 6.6 for powerpc-apple-darwin):
| Iface Lint failure
| Unfolding of regex-parsec-0.85:Text.Regex.Parsec.Wrap.=~{v rVd} <no location
| info>:
| In the pattern of a case alternative:
| (regex-base-0.80:Text.Regex.Base.RegexLike.:DRegexMaker{d r1Wf} tpl5{v a2Jm}
| [lid] :: {regex-base-0.80:Text.Regex.Base.RegexLike.RegexOptions{tc rVJ}
| regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM}
|
|
| regex-parsec-0.85:Text.Regex.Parsec.Common.CompOption{tc rWm}
|
|
| <nt>regex-parsec-0.85:Text.Regex.Parsec.Common.ExecOption{tc rWv}},
|
| tpl6{v a2Jn} [lid] :: source{tv a2J8} [tv]
|
| ->
| regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM},
|
| tpl7{v a2Jo} [lid] ::
| regex-parsec-0.85:Text.Regex.Parsec.Common.CompOption{tc rWm}
|
| ->
| <nt>regex-parsec-0.85:Text.Regex.Parsec.Common.ExecOption{tc rWv}
|
| -> source{tv a2J8} [tv]
|
| ->
| regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM})
|
| In a case alternative, pattern result type doesn't match scrutinee type:
|
| Pattern result type: (forall e{tv a2Jq} [tv]
| (m{tv a2Jr} [tv] :: *
| -> *).
| (mtl-1.0:Control.Monad.Error.MonadError{tc rji} e{tv
| a2Jq} [tv]
| m{tv
| a2Jr} [tv]) =>
| source{tv a2J8} [tv]
| -> m{tv a2Jr} [tv]
| regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM})
| -> (forall e{tv a2Js} [tv]
| (m{tv a2Jt} [tv] :: *
| -> *).
| (mtl-1.0:Control.Monad.Error.MonadError{tc rji} e{tv
| a2Js} [tv]
| m{tv
| a2Jt} [tv]) =>
|
| regex-parsec-0.85:Text.Regex.Parsec.Common.CompOption{tc rWm}
| ->
| <nt>regex-parsec-0.85:Text.Regex.Parsec.Common.ExecOption{tc rWv}
| -> source{tv a2J8} [tv]
| -> m{tv a2Jt} [tv]
| regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM})
| ->
| (regex-base-0.80:Text.Regex.Base.RegexLike.:TRegexMaker{tc r1Wd})
| regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM}
|
| regex-parsec-0.85:Text.Regex.Parsec.Common.CompOption{tc rWm}
|
| <nt>regex-parsec-0.85:Text.Regex.Parsec.Common.ExecOption{tc rWv}
|
| source{tv a2J8} [tv]
| Scrutinee type: {regex-base-0.80:Text.Regex.Base.RegexLike.RegexMaker{tc rSw}
| regex-parsec-0.85:Text.Regex.Parsec.Common.Regex{tc rVM}
|
| regex-parsec-0.85:Text.Regex.Parsec.Common.CompOption{tc rWm}
|
| <nt>regex-parsec-0.85:Text.Regex.Parsec.Common.ExecOption{tc rWv}
|
| source{tv a2J8} [tv]}
|
| Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
|
| Reason:~/Documents/projects/haskell/develop/regex-unstable/regex-devel/regex-devel/quickcheck
| chrisk$
More information about the Glasgow-haskell-users
mailing list