Hi,

I enclose a small program that causes ghc 4.01 to say "panic! (the
`impossible' happened)". I also supply the output from ghc -v.

Regards,
Thomas Hallgren

module GhcBug where

data E = B { a,b,c,d,e,f::Bool }

bug x =
  case x of
    -- alt 1 and alt 2 should be equivalent
    B _ _ _ _ True False -> undefined -- alt 1, problematic
    --B {e=True,f=False} -> undefined -- alt 2, no problem

    B {b,f=False,e=False} -> undefined
The Glorious Glasgow Haskell Compilation System, version 4.01, patchlevel 0

Effective command line: -v

Ineffective C pre-processor:
        echo '{-# LINE 1 "GhcBug.hs" -}' > /tmp/ghc23829.cpp && cat GhcBug.hs >> 
/tmp/ghc23829.cpp

real        0.0
user        0.0
sys         0.0
ghc-4.01:compile:Output file GhcBug.o doesn't exist
ghc-4.01:compile:Interface file GhcBug.hi doesn't exist
ghc-4.01:recompile:Input file GhcBug.hs newer than GhcBug.o

Haskell compiler:
        /usr/pd/lib/ghc-4.01/hsc ,-W ,/tmp/ghc23829.cpp  -fignore-interface-pragmas 
-fomit-interface-pragmas -fsimplify [  -ffloat-lets-exposing-whnf -ffloat-primops-ok 
-fcase-of-case -fdo-case-elim -freuse-con -fpedantic-bottoms 
-fmax-simplifier-iterations4  ]   -fwarn-overlapping-patterns -fwarn-missing-methods 
-fwarn-duplicate-exports -fhi-version=401 
-himap=.%.hi:/usr/pd/lib/ghc-4.01/imports/std%.hi   -v -hifile=/tmp/ghc23829.hi 
-C=/tmp/ghc23829.hc -F=/tmp/ghc23829_stb.c -FH=/tmp/ghc23829_stb.h +RTS -H6000000 
-K1000000
Glasgow Haskell Compiler, version 4.01, for Haskell 1.4

panic! (the `impossible' happened):
        Check.check': Not implemented :-(

Please report it as a compiler bug to [EMAIL PROTECTED]


real        1.2
user        1.1
sys         0.0
deleting... /tmp/ghc23829.cpp /tmp/ghc23829.hi /tmp/ghc23829.hc /tmp/ghc23829_stb.c 
/tmp/ghc23829_stb.h

rm -f /tmp/ghc23829*

Reply via email to