diff options
Diffstat (limited to 'testsuite/tests/codeGen/should_compile/cg004.hs')
-rw-r--r-- | testsuite/tests/codeGen/should_compile/cg004.hs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/testsuite/tests/codeGen/should_compile/cg004.hs b/testsuite/tests/codeGen/should_compile/cg004.hs new file mode 100644 index 0000000000..fb8e3cc413 --- /dev/null +++ b/testsuite/tests/codeGen/should_compile/cg004.hs @@ -0,0 +1,30 @@ +module ShouldCompile where + +-- Killed GHC 6.0 in isCrossDllArg +-- +-- ghc-6.0: panic! (the `impossible' happened, GHC version 6.0): +-- coreSyn/CoreUtils.lhs:1188: Non-exhaustive patterns in function isCrossDllArg +-- +-- The reason was that newST had the form +-- newST = \ @ v -> GHC.Base.: +-- @ (Environment.Scope v) +-- (case $fScopeOpersScope @ v +-- of tpl_B1 { Environment.:DScopeOpers tpl_B2 tpl_B3 -> +-- tpl_B2 +-- }) +-- (GHC.Base.[] @ (Environment.Scope v)) + +class ScopeOpers s where + emptyScope :: s + op :: s -> s + +data Scope v = NewScope + +instance ScopeOpers (Scope v) where + emptyScope = error "emptyScope" + op = error "op" + +newtype SymbolTable v = SymbolTable [Scope v] + +newST :: SymbolTable v +newST = SymbolTable [emptyScope] |