#7239: GHC panic: MkExternalCore died: make_lit
--------------------------------------+-------------------------------------
Reporter: audunska | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.4.1
Keywords: panic, MkExternalCore | Os: Linux
Architecture: x86_64 (amd64) | Failure: Compile-time crash
Difficulty: Unknown | Testcase:
Blockedby: | Blocking:
Related: |
--------------------------------------+-------------------------------------
Changes (by simonpj):
* difficulty: => Unknown
Old description:
> Compiling the attached example with -fext-core crashes ghc with the
> following text:
>
> $ ghc -fext-core min.hs
> [1 of 1] Compiling Main ( min.hs, min.o )
> ghc: panic! (the 'impossible' happened)
> (GHC version 7.4.1 for x86_64-unknown-linux):
> MkExternalCore died: make_lit
>
> Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
>
> Replacing the data declaration with a newtype or a library type such as
> Complex or Ratio gives the same crash. An empty .hcr file is created.
>
> Replacing the "main" action with "return ()" or removing one of the type
> synonym declarations makes the crash go away.
>
> This is using the ghc package distributed with ubuntu 12.04.
New description:
Compiling the attached example with -fext-core crashes ghc with the
following text:
{{{
$ ghc -fext-core min.hs
[1 of 1] Compiling Main ( min.hs, min.o )
ghc: panic! (the 'impossible' happened)
(GHC version 7.4.1 for x86_64-unknown-linux):
MkExternalCore died: make_lit
}}}
Replacing the data declaration with a newtype or a library type such as
`Complex` or `Ratio` gives the same crash. An empty `.hcr` file is
created.
Replacing the "main" action with "return ()" or removing one of the type
synonym declarations makes the crash go away.
This is using the ghc package distributed with ubuntu 12.04.
--
Comment:
Fixed by
{{{
commit 7b8a17ad3c0792f06ffa991e9e587f5458610a3c
Author: Simon Peyton Jones <[email protected]>
Date: Sat Sep 15 23:12:23 2012 +0100
Print literal integers in External Core.
>---------------------------------------------------------------
compiler/coreSyn/MkExternalCore.lhs | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/compiler/coreSyn/MkExternalCore.lhs
b/compiler/coreSyn/MkExternalCore.lhs
index d05da2a..2103708 100644
--- a/compiler/coreSyn/MkExternalCore.lhs
+++ b/compiler/coreSyn/MkExternalCore.lhs
@@ -229,7 +229,8 @@ make_lit dflags l =
MachWord64 i -> C.Lint i t
MachFloat r -> C.Lrational r t
MachDouble r -> C.Lrational r t
- _ -> error "MkExternalCore died: make_lit"
+ LitInteger i _ -> C.Lint i t
+ _ -> pprPanic "MkExternalCore died: make_lit" (ppr l)
where
t = make_ty dflags (literalType l)
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7239#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs