summaryrefslogtreecommitdiff
path: root/testsuite/tests/codeGen/should_compile/cg004.hs
diff options
context:
space:
mode:
authorDavid Terei <davidterei@gmail.com>2011-07-20 11:09:03 -0700
committerDavid Terei <davidterei@gmail.com>2011-07-20 11:26:35 -0700
commit16514f272fb42af6e9c7674a9bd6c9dce369231f (patch)
treee4f332b45fe65e2a7a2451be5674f887b42bf199 /testsuite/tests/codeGen/should_compile/cg004.hs
parentebd422aed41048476aa61dd4c520d43becd78682 (diff)
downloadhaskell-16514f272fb42af6e9c7674a9bd6c9dce369231f.tar.gz
Move tests from tests/ghc-regress/* to just tests/*
Diffstat (limited to 'testsuite/tests/codeGen/should_compile/cg004.hs')
-rw-r--r--testsuite/tests/codeGen/should_compile/cg004.hs30
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]