summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2012-04-26 16:45:20 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2012-04-26 16:45:20 +0100
commit3ad4e945eb82ba5454cb423855a2677e683c59ff (patch)
tree4b77b6d21d6672f1235b015a47d6304d2292a63b
parent02dd86da97e26829ef3878c583601263b84e52e5 (diff)
downloadhaskell-3ad4e945eb82ba5454cb423855a2677e683c59ff.tar.gz
Test Trac #5837
-rw-r--r--testsuite/tests/perf/compiler/T5837.hs9
-rw-r--r--testsuite/tests/perf/compiler/T5837.stderr159
-rw-r--r--testsuite/tests/perf/compiler/all.T11
3 files changed, 179 insertions, 0 deletions
diff --git a/testsuite/tests/perf/compiler/T5837.hs b/testsuite/tests/perf/compiler/T5837.hs
new file mode 100644
index 0000000000..90b3af1dec
--- /dev/null
+++ b/testsuite/tests/perf/compiler/T5837.hs
@@ -0,0 +1,9 @@
+{-# LANGUAGE TypeFamilies #-}
+
+module T5837 where
+
+type family TF a :: *
+type instance TF (a,b) = (TF a, TF b)
+
+t :: (a ~ TF (a,Int)) => Int
+t = undefined
diff --git a/testsuite/tests/perf/compiler/T5837.stderr b/testsuite/tests/perf/compiler/T5837.stderr
new file mode 100644
index 0000000000..b2fa4b4efe
--- /dev/null
+++ b/testsuite/tests/perf/compiler/T5837.stderr
@@ -0,0 +1,159 @@
+
+T5837.hs:8:6:
+ Context reduction stack overflow; size = 51
+ Use -fcontext-stack=N to increase stack size to N
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ a)))))))))))))))))))))))))))))))))))))))))))))))))),
+ TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ Int)))))))))))))))))))))))))))))))))))))))))))))))))))
+ ~ TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ (TF
+ a)))))))))))))))))))))))))))))))))))))))))))))))))
diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T
index b3de02d810..139432d1d0 100644
--- a/testsuite/tests/perf/compiler/all.T
+++ b/testsuite/tests/perf/compiler/all.T
@@ -240,3 +240,14 @@ test('T5642',
compiler_stats_range_field('bytes allocated', 3361296144, 10))
],
compile,['-O'])
+
+test('T5837',
+ [ only_ways(['normal']),
+ if_wordsize(32, # sample from x86/Linux
+ compiler_stats_range_field('bytes allocated', 40000000, 10)),
+
+ # sample: 3926235424 (amd64/Linux, 15/2/2012)
+ if_wordsize(64,
+ compiler_stats_range_field('bytes allocated', 79110184, 10))
+ ],
+ compile_fail,['-fcontext-stack=50'])